我正在使用 ftplib 在 Python 中下载文件,直到最近一切似乎都运行良好。我正在下载这样的文件:
ftpSession = ftplib.FTP(host,username,password)
ftpSession.cwd('rlmfiles')
ftpFileList = filter(lambda x: 'PEDI' in x, ftpSession.nlst())
ftpFileList.sort()
for f in ftpFileList:
tempFile = open(os.path.join(localDirectory,f),'wb')
ftpSession.retrbinary('RETR '+f,tempFile.write)
tempFile.close()
ftpSession.quit()
sys.exit(0)
直到最近,它还在下载我需要的文件,正如预期的那样。但是,现在,我正在下载的文件已损坏,并且仅包含一长串垃圾 ASCII。我知道我要从中提取它们的不是发布到 FTP 上的文件,因为我还有一个 Perl 脚本可以从同一个 FTP 成功执行此操作。
如果是任何附加信息,以下是调试器在下载文件时在命令提示符中显示的内容:
retrbinary()
有没有人在使用Python 的 ftplib时遇到过文件内容损坏的问题?
我真的很困惑/沮丧,没有遇到任何与这里可能存在的腐败有关的事情。任何帮助表示赞赏。