Python: 导入模块时的语法错误 - 'codecs.py

1 投票
1 回答
1217 浏览
提问于 2025-04-16 06:22

我在用一个脚本,这个脚本需要导入一些模块,其中一个是 codecs。当我运行这个脚本时,在 import codecs 这一行会出现一个错误提示,内容是 Traceback (most recent call last):,接着是 SyntaxError: ('no viable alternative at input \'""\'', ('C:\\Python26\\lib\\codecs.py', 268, 17, ' return (b"", 0)\n'))。这个错误只在我运行自己的脚本时出现,而这个脚本又会去执行导入 codecs 模块的脚本。如果我直接通过命令行运行那个脚本,就不会出现这个错误。

1 个回答

2

这段话的意思是,它会执行那个脚本,然后...

那它是怎么“执行”这个脚本的呢?是指导入吗?还是调用一个子进程?或者是其他的什么?

因为“输入没有可行的替代方案...”是一个很特别的ANTLR解析器错误,而CPython 2.6并不会出现这个错误。

但是Jython 2.5会出现这个问题。不过Jython不应该尝试运行CPython 2.6中的codecs模块。在这种情况下,它失败是因为Python 2.6中新增加的字节字符串语法b""

撰写回答