我遇到的问题是我必须使用两个脚本,一个只与Python2.7兼容,另一个只与Python3兼容。
所以我的问题是,是否有可能以任何方式这样做? (不重构代码) 我想过使用execfile()但它也只使用一个编译器。
答案 0 :(得分:1)
根据您的说法,这些脚本是独立的 - 您不能在2.7和3之间共享变量。如何在它们之间进行通信?
你可以:
使用Python3提供的2to3脚本将2.7脚本转换为3。所以你不必手动重构。这通常很有效。
运行一个脚本,并从那里调用另一个脚本调用,例如,subprocess使用正确的解释器执行另一个脚本。类似的东西(来自2.7脚本):
subprocess.call(['python3','other_script.py'])//或 result = subprocess.check_output(['python3','other_script.py'])//如果你需要脚本的输出
写一个小bash(或.bat)并调用其中一个。