except error_perm, msg"中的error_perm和msg是特殊的吗?

2 投票
2 回答
2767 浏览
提问于 2025-04-16 23:34

我正在阅读这个脚本。这个脚本是用来通过FTP同步文件的。

我对第106行的这段话感到困惑

try:
    ...
except error_perm, msg:
    ...

看起来error_permmsg这两个变量似乎是凭空出现的。当try部分出错时,脚本就会停止,无法进入except部分。

2 个回答

0

导入模块的方式是正确的,不过在Python 3.6及以上版本中,异常处理的语法有点不同:

except error_perm as msg:
    print(f"FTP error: {msg}",flush=True)
8

你在文件的顶部有以下导入:

from ftplib import FTP, error_perm

error_perm 是一个错误类。

语句

except error_perm, msg:

这个语句会捕捉任何类型为 error_perm 的异常,并把异常对象存储在变量 msg 中。

撰写回答