我正在研究使用 setup.py 使用“use_2to3”属性从 python 2 源自动生成 python 3 代码。我的 setup.py 脚本包含以下语句:
VERSION = None
with file('version','rt') as FF:
VERSION = FF.read().lstrip().rstrip()
print("VERSION %s" % (VERSION) )
当我输入“python3 setup.py build”时,我收到错误:
Traceback (most recent call last):
File "setup.py", line 18, in <module>
with file('version','rt') as FF:
NameError: name 'file' is not defined
我理解这是正确的,因为文件对象不再存在,我应该将其更改为“open()”。
担心的是“2to3”实用程序没有检测到这一点,并且保持代码不变。不幸的是,我在整个代码中都使用了这个成语。
这是“2to3”中的错误吗?