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,它告诉您缩进异常。