【问题标题】:Can I use ',' instead of 'as' python 3我可以使用','而不是'as' python 3
【发布时间】:2020-04-10 03:19:41
【问题描述】:

我在 python 3 中使用了一个用 python 2 语法编写的代码。
代码有正确的库,一切正常,但这给了我一个错误:

        except Exception, _hx_e:
        _hx_e1 = _hx_e.val if isinstance(_hx_e, _HxException) else _hx_e
        e = _hx_e1
        tmp = None

有没有办法在 python 3 中使用这个 , python 2 注释而不是 as

【问题讨论】:

  • 为什么不使用正确的语法?你还应该尝试将你的 python2 切换到 python3,因为 python2 的生命周期还有几周 python.org/doc/sunset-python-2
  • 这能回答你的问题吗? Python try...except comma vs 'as' in except
  • 回答:不,你不能。
  • @RichardStoeffel 我正在使用他们制作的学校项目图书馆......不要问我他们为什么这样做......我猜他们过去制作了这个图书馆并没有'没有更新它
  • :( @brunodesthuilliers

标签: python python-3.x python-2.7


【解决方案1】:

旧语法不再有效。

Source

在 Python 2 中,捕获异常的语法是 except ExceptionType:,或者except ExceptionType,target:当异常 需要对象。 ExceptionType 可以是一个元组,例如, 除了(TypeError、ValueError):

这可能会导致难以发现的错误:命令 除了 TypeError, ValueError:(注意缺少括号)只会处理 TypeError。它 还将异常对象分配给名称ValueError, 隐藏内置。

为了解决这个问题,Python 2.6 引入了另一种语法:except ExceptionType 作为目标:在 Python 3 中,旧的语法不再是 允许

您将需要切换到新语法。推荐的固定器有效 相当可靠,它还修复了迭代异常问题 如下所述。

【讨论】:

    猜你喜欢
    • 2013-03-21
    • 1970-01-01
    • 2020-09-24
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    • 2017-10-03
    • 2013-03-17
    • 2012-08-02
    相关资源
    最近更新 更多