我想制作一个在 2.7 和 3.4 版本上运行的 Python 程序。我只需进行一些更改即可使其像 print("", end="") 一样工作。
有没有类似的标签
if __name__ == "__main__":
或者其他东西,我可以将其放入我的代码中以获得如下内容:
1. python_version = platform.version_tuple()
2. if python_version[0] == 3:
3. print("myprint", end="")
4. else:
5. print "my second print",
如何避免此代码出现任何编译错误?
<小时/>感谢您的所有回答,我的问题不是很清楚,但您确实提供了帮助。阅读您的答案后,我找到了这个详细的网站:
http://python3porting.com/noconv.html
它解释了如何将 python2 和 python3 处理为相同的代码,而不将其分成 2 个冗余部分。
正确的方法是使用 sys.version
1. import sys
2. if sys.version < '3':
3. #some code for python 3.X
4. else:
5. #some code for older python
或者使用 future 库中的 print_function
1. from __future__ import print_function
打印问题和 ImportError 错误如下
1. try:
2. from urllib.request import urlopen
3. except ImportError:
4. from urllib import urlopen
再次感谢您的帮助
最佳答案
在导入其他任何内容之前执行此操作:
from __future__ import print_function
现在你只需使用 python3.x 样式打印...
关于python - 如何在多个Python版本中使用同一个源代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24202242/