在Python中使用ftplib时

5 投票
2 回答
3896 浏览
提问于 2025-04-16 11:31

这里是导致错误的相关代码。

ftp = ftplib.FTP('server')
ftp.login(r'user', r'pass')

#change directories to the "incoming" folder
ftp.cwd('incoming')

fileObj = open(fromDirectory + os.sep + f, 'rb')

#push the file
try:
    msg = ftp.storbinary('STOR %s' % f, fileObj)
except Exception as inst:
    msg = inst
finally:
    fileObj.close()
    if '226' not in msg:
    #handle error case

我以前从未见过这个错误,任何关于我为什么会遇到这个错误的信息都将非常有用,我会很感激。

完整的错误信息是: [Errno 10060] 连接尝试失败,因为连接的另一方在一段时间后没有正确响应,或者已经建立的连接因为连接的主机没有响应而失败。

需要注意的是,当我手动(也就是打开命令提示符,用ftp命令上传文件)从脚本所在的同一台机器上推送文件时,没有任何问题。

2 个回答

1

也许你应该把“超时时间”这个选项调高一点,给服务器更多的时间来回应。

1

在我的情况下,按照@Anders Lindahl的建议,把模式改成ACTV后,所有东西都恢复正常了。

撰写回答