Python 在pysftpget中指定文件模式

Python 在pysftpget中指定文件模式,python,sftp,pysftp,Python,Sftp,Pysftp,我们可以这样编写一个简单的get: 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) import

我们可以这样编写一个简单的
get

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)
import pysftp
import re

server = pysftp.Connection(host=FTP_HOST,
                  username=FTP_USERNAME,
                  password=FTP_PASSWORD)
server.cwd(YOUR_FILES_PATH)
filelist = server.listdir()

for filename in filelist:
    filedate = re.search(".*\.txt$", filename)
    if filedate:
        print "FOUND FILE " + filename
但是,我想在文件名中指定一个模式,类似于:
“*.txt”


您知道如何使用
pysftp
执行此操作吗?

在pysftp中没有下载与文件掩码匹配的文件的功能

你必须:

  • 使用或列出目录(如果需要递归)
  • 迭代文件列表,筛选所需的文件
  • 每个人单独打电话

  • 有关简单的实现,请参见:

    这是关于Paramiko的,但文件匹配部分将与PySTFP相同:

    import fnmatch
    
  • 有关递归示例(必须添加文件匹配),请参见:

  • 另请参见如何或如何实施


阅读文档后,您可以确认无法使用模式列出。所以我做了这样的事情:

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)
import pysftp
import re

server = pysftp.Connection(host=FTP_HOST,
                  username=FTP_USERNAME,
                  password=FTP_PASSWORD)
server.cwd(YOUR_FILES_PATH)
filelist = server.listdir()

for filename in filelist:
    filedate = re.search(".*\.txt$", filename)
    if filedate:
        print "FOUND FILE " + filename

在上获取“缩进错误:意外缩进”this@BobYoplait您在哪一行获得此异常?使用pycharm,它告诉您缩进异常。