【发布时间】:2021-11-08 20:06:31
【问题描述】:
我有一个短代码,可以将一个小文件通过 ftp 传输到服务器中。
session = ftplib.FTP("192.168.0.164", "admin", "admin")
file = open("path/test.txt", "rb")
try:
session.storbinary("STOR application/test.txt", file)
except:
print("failed")
else:
print("success!")
file.close()
在上面的部分中,我将 IP 地址更改为它会失败(没有 192.168.0.164 设备)并且它不会像预期的那样打印失败。在终端我得到一个 “连接方在一段时间后没有正确响应,或者由于连接的主机没有响应而建立连接失败”错误。
如果我输入错误的路径,我也不会在终端上打印失败。
如果我输入正确的 IP,成功的部分就可以了。
我是否使用了 try/except 错误?
更新:
当前代码如下所示:
file = open("path/test.txt", "rb")
try:
session = ftplib.FTP("192.168.0.161", "admin", "admin")
session.storbinary("STOR application/test.txt", file)
except:
print("Unable to reach host")
else:
print("success!")
session.quit()
finally:
print ("DONE!!")
file.close()
我认为 ftplib.all_errors 将捕获所有错误(主机无法访问,并且找不到文件)。它似乎捕获了无法访问主机错误,但没有文件未找到错误。
【问题讨论】:
标签: python python-3.x