我有两个代码块,我想将它们组合成一个python脚本。一个代码块用Python 2.7编写,另一个用Python 3.6编写
我的问题是,有没有办法调用旧版本的python mid脚本来运行特定的代码块?
例如,如果我运行以下代码,脚本会出错,因为第二个print语句缺少括号:
#Running python 2 and 3!!
#Py 2
print "Python 2"
#Py 3
print "Python 3"
注意:转换用2.7编写的代码块是可能的,但需要很长时间;我此刻没有的时间。
答案 0 :(得分:2)
您可以在Python 3代码的单独进程中调用Python 2代码段(反之亦然)using the subprocess module。只有当您不希望Python上下文受到Python 2代码段的副作用影响时,这才有效。设置一个变量2,然后使用3就不可能了。
如果您想在Python 3脚本中使用Python 2代码段创建的对象,可以考虑使用pickle:将对象序列化为本地文件in Python 2.7并对其进行反序列化from Python 3 - 请注意pickle必须处理2到3之间的一些变化(见Unpickling a Python 2 object with Python 3)。
答案 1 :(得分:1)