我有一个python代码,应该在其他文件中执行另一个代码。
由于我现在没有时间解释的原因,我需要使用subprocess
- 模块或类似的东西。我的功能应该使用任何窗口,其中我的第二个文件中的print
- 命令应该给出它们的输出。这是我的文件:
maincode.py:
#import subprocess
def startFileInNewProcess(filename):
proc = subprocess.Popen(["python", filename], shell=True)
startFileInNewProcess("mysecondfile.py")
mysecondfile.py:
import os
print os.getcwd()
至于我对SO上的一些文章不感兴趣,参数shell=True
应该创建一个带有mysecondfile.py
输出的新窗口。这不会发生!任何人都可以解释原因并请提出改进建议......
答案 0 :(得分:1)
参数shell=True
只会在系统/bin/sh
的默认shell中的shell中执行命令。要启动新的终端窗口,您需要指定终端:
subprocess.Popen(["xterm", "python"])
上面的行打开一个新的xterm终端窗口并在其中执行python
命令。