我正在为当前唯一的Python 2项目贡献代码,以允许它在Python 3上运行。我应该进行以下导入:
from __future__ import (unicode_literals, print_function,
absolute_imports, division)
在项目的每个文件上,或者只使用我在每个文件上需要的文件?
答案 0 :(得分:3)
据我所知,没有任何明确的约定,但是我倾向于在每个文件中添加所有这些。
您可能知道正在使用现在的__future__
功能,但是如果将来文件被修改并且突然需要其他功能或者不需要某个功能,该怎么办?更?
放入所有导入总是让你编写类似python3的代码,这意味着你不必完全记住特定文件中的开/关功能。你只需编写python3。
另一方面,在选择要导入的要素时,您必须根据文件中的活动功能调整每个文件的编码方式。
首选解决方案的另一个原因是IDE通常提供了一种为新文件指定模板的方法,这意味着您甚至不必记住自己添加所有导入,IDE将为此做到你。
这种推理只有一个问题:添加导入不会破坏代码。 这显然不能保证。但是,您必须进行的更改应该是为python3移植软件,因此不应增加移植软件所需的时间。