如果传输不成功,ftplib 中的 retrbinary() 和 storbinary() 是否会引发异常?
Does retrbinary() and storbinary() in ftplib raise exception if transfer not successful?
如果传输不成功,ftplib
中的 retrbinary()
和 storbinary()
函数是否会引发异常(或者我是否需要明确检查这一点)?
例如。我目前有代码可以...
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) 来自 storbinary
的 return 值的 type
只是一个 str
和 2) 它显示为 "266成功将文件上传到 ftp 位置后,传输完成。如果在上传过程中出现问题,代码的 except 部分是否会被触发 (即 storbinary
函数是否会抛出异常)或者我是否需要显式检查字符串文字 response 喜欢...
ftp = ftplib.FTP(<all the connection info>)
try:
fd = open(MYFILE, 'rb')
res = ftp.storbinary("filename.csv", fd)
print(str(res))
fd.close
if str(res) is not "226 Transfer Complete":
raise Exception
except:
print("Failed to upload file")
……?还有另一种更传统的方法来捕捉这个吗? (我对 ftplib
的 retrbinary
函数也有同样的问题)。
是的,如果他们从服务器收到错误响应或连接意外丢失,他们会抛出异常。
虽然请注意,使用 FTP 协议,在某些情况下,并不总是可以判断传输失败。
如果传输不成功,ftplib
中的 retrbinary()
和 storbinary()
函数是否会引发异常(或者我是否需要明确检查这一点)?
例如。我目前有代码可以...
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) 来自 storbinary
的 return 值的 type
只是一个 str
和 2) 它显示为 "266成功将文件上传到 ftp 位置后,传输完成。如果在上传过程中出现问题,代码的 except 部分是否会被触发 (即 storbinary
函数是否会抛出异常)或者我是否需要显式检查字符串文字 response 喜欢...
ftp = ftplib.FTP(<all the connection info>)
try:
fd = open(MYFILE, 'rb')
res = ftp.storbinary("filename.csv", fd)
print(str(res))
fd.close
if str(res) is not "226 Transfer Complete":
raise Exception
except:
print("Failed to upload file")
……?还有另一种更传统的方法来捕捉这个吗? (我对 ftplib
的 retrbinary
函数也有同样的问题)。
是的,如果他们从服务器收到错误响应或连接意外丢失,他们会抛出异常。
虽然请注意,使用 FTP 协议,在某些情况下,并不总是可以判断传输失败。