【问题标题】:using both Python3 and Python2.7 in one app在一个应用程序中同时使用 Python3 和 Python2.7
【发布时间】:2015-05-10 14:35:41
【问题描述】:

我的问题是我必须使用两个脚本,一个只与 Python2.7 兼容,第二个只与 Python3 兼容。

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

【问题讨论】:

  • 调用不同的python解释器来执行不同的脚本?
  • 脚本有什么关系?

标签: python python-2.7 python-3.x


【解决方案1】:

根据您的说法,这些脚本是独立的——您不能在 2.7 和 3 之间共享变量。您如何在它们之间进行通信?

你可以:

  • 使用 Python3 提供的 2to3 脚本将 2.7 脚本转换为 3。所以你不必手动重构。这通常效果很好。

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

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

  • 编写一个小 bash(或 .bat)并调用一个和另一个。

【讨论】:

    猜你喜欢
    • 2013-01-24
    • 2010-12-10
    • 1970-01-01
    • 2021-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-15
    • 1970-01-01
    相关资源
    最近更新 更多