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应该可以正常工作。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)