gpt4 book ai didi

python - python 中的 SFTP 方法获取文件的基本名称和完整路径

转载 作者:太空宇宙 更新时间:2023-11-03 19:17:57 25 4
gpt4 key购买 nike

我想用Python从SFTP站点下载文件,但我想先对文件应用过滤器,例如。只下载符合特定模式的文件。我只想将过滤器应用于文件名,而不是完整路径。但是当我想下载文件时,我需要完整路径。有没有简单的方法可以做到这一点?

最佳答案

我想我明白你在这里问什么。我附加了一段代码,该代码获取远程文件列表,然后是本地文件,然后使用它来得出要传输的文件列表(这意味着文件位于远程目录中,而不是本地目录中)这与放置文件的函数相反)。然后循环执行,仅传输符合文件过滤器的文件。

def getFiles ( remotePath, filterValue, hostname, user, pwd, pathShare, remove ):
srv = sftpfunc (hostname,user,pwd)
retFiles = []
srv.chdir(remotePath)
remoteFiles = srv.listdir()
localFiles = os.listdir(pathShare)
files = srv.listdir()
removeMe = ""
if (len(remoteFiles) > 0):
tranFiles = list(set(remoteFiles) - set(localFiles))
print ('File Transfer List: ')
for fileName in tranFiles:
if not filterValue in fileName: continue
print ('Transfering: ',fileName)
srv.get(fileName, pathShare+fileName)
if (remove):
try:
srv.rmfiles(fileName)
finally:
print('Could not remove files')

retFiles.append(fileName)
srv.close()
return retFiles

关于python - python 中的 SFTP 方法获取文件的基本名称和完整路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10723229/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com