编写python脚本以在Python3和Python2上运行

编写python脚本以在Python3和Python2上运行,python,python-3.x,python-2.7,Python,Python 3.x,Python 2.7,我想用下面的逻辑编写脚本 if <script invoked by python3>: do A elif <script invoked by python2>: do B 如果: 做一个 埃利夫: 做B 我如何才能做到这一点?您很可能需要类似的东西(请参阅原始问题和答案): 版本检查很容易:见@Philippe的答案。但是你想做的事情就不那么容易了。您的问题的完整答案超出SO发布的范围。整本书都是关于它的。其中一个就是Lennart Regebro的

我想用下面的逻辑编写脚本

if <script invoked by python3>:
   do A
elif <script invoked by python2>:
   do B
如果:
做一个
埃利夫:
做B

我如何才能做到这一点?

您很可能需要类似的东西(请参阅原始问题和答案):


版本检查很容易:见@Philippe的答案。但是你想做的事情就不那么容易了。您的问题的完整答案超出SO发布的范围。整本书都是关于它的。其中一个就是Lennart Regebro的:我在最近的Python 2/3迁移中很感激地使用了它。注意,
sys.version\u info
的命名组件(例如
.major
)是在2.7/3.1中引入的。如果出于某些可怕的原因,您需要支持2.6或更早版本,或者3.0,那么您需要测试sys.version\u info>=(3,):
import sys
if sys.version_info.major >=  3:
    # Python 3 code
else:
    # Python 2 code