我的应用程序中的一些文件仅用于python 3。
如果代码在python 2上运行,我可以忽略这些文件吗?示例:
import sys
if sys.version_info.major < 3:
return # this doesn't work
<other code should to be ignored for python < 3>
我知道我可以这样做:
import sys
if sys.version_info.major < 3:
pass
else:
<other code should to be ignored for python < 3>
但问题是,我可以避免在else
范围内包含整个文件上下文吗?
另一个问题是,我可以从__init__.py
答案 0 :(得分:0)
目前我只找到了这个解决方案:https://github.com/evanplaice/pypreprocessor/blob/master/Examples/py2and3.py
它需要使用 pypreprocessor 包,它模拟C样式预处理器指令。所以我的代码就是这样:
import sys
from pypreprocessor import pypreprocessor
#exclude
if sys.version_info.major < 3:
pypreprocessor.defines.append('python3')
pypreprocessor.parse()
#endexclude
#ifdef python3
# <other code should to be ignored for python < 3>
#endif
如果您有任何
,请发布其他解决方案