import pysftp hostname = "somehost" user = "bob" password = "123456" filename = 'somefile.txt' with pysftp.Connection(hostname,username=user,private_key='/home/private_key_file') as sftp: sftp.get(filename)
但是,我想在文件名中指定一个模式,例如:’* .txt’
有关如何使用pysftp执行此操作的任何想法?
你必须:
>使用listdir或walktree列出目录(如果需要递归)>迭代文件列表,过滤所需的文件>分别致电get.
listdir
walktree
get
有关灵感,请参阅如何实现get_d或get_r(递归).
get_d
get_r
有关简单实现,请参阅List files on SFTP server matching wildcard in Python using Paramiko.有关递归示例,请参阅Python pysftp get_r from Linux works fine on Linux but not on Windows.