我正在尝试使用Python从FTP上下载文件YYYYMMDD_FCTall.csv,但该代码无法正常工作。这就是我所做的:
import pysftp
import time
cnopts = pysftp.CnOpts()
cnopts.hostkeys = None
# Make connection to sFTP
with pysftp.Connection("XX.XX.XX.X",
username="YYY_YY",
password="ZZZZ:",
cnopts = cnopts
) as sftp:
sftp.isfile('/route/route1/route3/FCTall/'+time.strftime("%Y%m%d")+'_FCTall.csv') ## TRUE
#sftp.get(('/route/route1/route3/FCTall/'+time.strftime("%Y%m%d")+'_FCTall.csv', 'C:/Users/myuser/Documents/Python Scripts/'+time.strftime("%Y%m%d")+'_FCTall.csv')
sftp.get(''+time.strftime("%Y%m%d")+'_FCTall.csv', 'C:/Users/myuser/Documents/Python Scripts/'+time.strftime("%Y%m%d")+'_FCTall.csv')
#print(file) ## None
sftp.close()
答案 0 :(得分:1)
您对 /‾‾‾‾‾‾‾‾‾‾\
C1-C2-C3-C4-C5 (C3==C6) (master)
和isfile
的调用引用了不同的文件。
第一个是绝对路径。后者在您当前FTP目录的相对路径中。
解决方案是对齐两个路径名。这应该可以解决您的问题。