将代码从Python 2.x转换为3.x

将代码从Python 2.x转换为3.x,第1张

将代码从Python 2.x转换为3.x

LexError后删除逗号。可以在Python 2和Python 3中使用。

在Python 2中,很少使用语法来引发如下异常:

raise ExceptionClass, "The message string"

这是在这里使用的,但是由于某种原因,也许由于消息字符串周围有一个括号(根据Senthils测试,是括号中的换行符),2to3错过了更好的更改

raise ExceptionClass("The message string")

因此它应该看起来像这样(在Python 2中)

message = "%s:%d: Rule '%s' returned an unknown token type '%s'" % (func.func_pre.co_filename, func.func_pre.co_firstlineno,func.__name__, newtok.type),lexdata[lexpos:])raise LexError(message)

因为在与加薪相同的行上格式化该消息很困难。:-)然后,func_pre被重命名,因此在Python
3中有更多更改。但是通过上述更改,2to3应该可以正常工作。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5649552.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存