2015-05-10 21 views
1

我遇到的问题是我必须使用两个脚本,一个仅与Python2.7兼容,另一个仅与Python3兼容。在一个应用程序中同时使用Python3和Python2.7

所以我的问题是,如果有可能以任何方式做到这一点? (不重构代码) 我想过使用execfile(),但它也只使用一个编译器。

+2

调用不同的python解释器来执行不同的脚本? –

+0

脚本如何相关? –

回答

1

从你说的话来看,这些脚本是独立的 - 你不能在2.7和3之间共享变量。如何你们之间进行通信?

,你可以:

  • 转换2.7脚本3,使用Python3提供的2to3的脚本。所以你不必手动重构。这通常工作得很好。

  • 运行一个脚本,并从那里调用另一个脚本,例如,使用正确的解释器执行另一个脚本。类似于(来自2.7脚本):

    subprocess.call(['python3','other_script.py'])//或 result = subprocess.check_output(['python3','other_script.py'] )//如果你需要脚本的输出

  • 写一个小的bash(或.bat)并调用其中一个。

相关问题