从python2代码调用python3代码

时间:2013-07-15 22:40:13

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

我正在使用wxPython工具包设计GUI,这意味着它是用python2编写的。但是,我想将python3用于实际的应用程序代码。我如何从GUI调用我的python3代码?

2 个答案:

答案 0 :(得分:15)

  1. 通过管道或插座说话

  2. __future__启用此类python 3功能,或使用six之类的库编写与这两者兼容的代码。

  3. 不要这样做。

  4. 最后,你确定你不能在Python 3中使用wxPython吗?在线文档中没有任何内容表明你不能。

答案 1 :(得分:4)

您可以将应用程序代码作为shell脚本运行。

from subprocess import call
exit_code = call("python3 my_python_3_code.py", shell=True)

您也可以像往常一样传递终端参数。

arg1 = "foo"
arg2 = "bar"
exit_code = call("python3 my_python_3_code.py " + arg1 + " " + arg2, shell=True)

如果您想从应用程序中收集更多信息,您可以改为捕获标准输出,如下所述:Capture subprocess output

如果您想在两个方向上进行流畅的通信,最好使用管道或插座。