微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何防止 ftplib 由于不活动而终止连接?

如何解决如何防止 ftplib 由于不活动而终止连接?

我的 Python 脚本根据需要将数千个小文件(每个文件从 1KB 到 10KB)从 VPS 上传到网络服务器,并且每个文件都是单独上传的。 Ftplib 在上传每个文件时有 1.9 秒的延迟甚至更多,考虑到我脚本中的其他所有内容都需要 1 秒,所以我尝试只使用一个登录会话而不是在每次上传关闭连接,这将时间缩短到大约0.8 秒,快了一秒多。但是,当没有任何上传时,连接超时,当我想再次登录时,它会引发 EOF 异常。代码如下:

def login():
    ftp.login(user='username',passwd = 'password')
    ftp.cwd('public_html/data/')
def upload(filenumber)
    file = open('/home/file/cached/'+filenumber+'.html','rb') 
    ftp.storbinary('STOR '+filenumber+'.html',file)                                  
    ftp.quit()
 

函数循环:

ftp = FTP('ftp.domain',timeout=5)
login()
try:
  upload(filenumber)
except Exception as ex:
  print(ex)
  login()
  upload(filenumber)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。