我写了一些代码来登录一个AS/400ftp站点,移动到某个目录,找到需要下载的文件。它可以工作,但是当有很多文件要下载时,我会收到:
socket.error: [Errno 10054] An existing connection was
forcibly closed by the remote host
我成功登录并导航到适当的目录:
^{pr2}$我抓起我需要的文件清单:
filesToDownload= filter(lambda x: "SOME_FILE_PREFIX" in x, newSession.nlst())
这里是它死亡的地方(特别是newSession.retrbinary('RETR '+f,tempFileVar.write)
):
for f in filesToDownload:
newLocalFileName = f + ".edi"
newLocalFilePath = os.path.join(directory,newLocalFileName)
tempFileVar = open(newLocalFilePath,'wb')
newSession.retrbinary('RETR '+f,tempFileVar.write)
tempFileVar.close()
在我被Errno 10054
击中之前,它下载了超过85%的我需要的文件,我想我只是不明白为什么它在这么接近完成时会任意死亡。我现在诚实的猜测是在尝试拉取这些文件时,FTP的请求太多了。在
以下是出现在我的命令提示符上的错误截图:
任何建议或建议都会很棒。我还在试着解决这个问题。在
我想这没有真正的答案,似乎客户端的FTP有问题,它非常不稳定。我所能做的最好的工作就是捕捉抛出的socket错误,并在强制断开连接之前恢复上一个会话中断的位置。客户的IT团队最终正在调查这个问题。在
叹息。在
相关问题 更多 >
编程相关推荐