我正在读这个script。它通过FTP同步文件。
我对第106行中的这句话感到困惑
try:
...
except error_perm, msg:
...
似乎变量 error_perm 和 msg 来自任何地方。当尝试部分出错时,脚本会停止并无法进入除部分。
答案 0 :(得分:7)
您在文件顶部有下一个导入:
from ftplib import FTP, error_perm
error_perm
是一个错误类。
语句
except error_perm, msg:
捕获类型为error_perm
的任何异常,并将异常对象存储在变量msg
中。
答案 1 :(得分:0)
import 是正确的,python 3.6 及更高版本的异常处理语法有点不同:
except error_perm as msg:
print(f"FTP error: {msg}",flush=True)