如何解决如果传输不成功,ftplib中的retrbinary和storbinary是否会引发异常?
如果传输不成功(或者我需要明确检查这一点),retrbinary()
中的storbinary()
和ftplib
函数会引发异常吗?
例如。我目前有执行此操作的代码...
ftp = ftplib.FTP(<all the connection info>)
try:
fd = open(MYFILE,'rb')
res = ftp.storbinary("filename.csv",fd)
print(str(res))
fd.close
except:
print("Failed to upload file")
我注意到1)type
返回值的storbinary
只是str
,2)在以下情况下读取“ 266 Transfer Complete” 成功将文件上传到ftp位置。如果在上传过程中出现问题,则会触发代码的除外部分(即storbinary
函数将引发异常)还是我需要显式检查字符串文字响应喜欢...
ftp = ftplib.FTP(<all the connection info>)
try:
fd = open(MYFILE,fd)
print(str(res))
fd.close
if str(res) is not "226 Transfer Complete":
raise Exception
except:
print("Failed to upload file")
...?还有另一种更常规的方式来解决此问题吗? (我对ftplib
的{{1}}函数也有同样的疑问。)
解决方法
是的,如果它们从服务器收到错误响应或连接意外断开,它们将引发异常。
尽管要注意的是,在某些情况下,使用FTP协议,并非总能断定传输失败。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。