python子进程使用cmd for print()命令

时间:2017-11-24 20:09:30

标签: python subprocess

我有一个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输出的新窗口。这不会发生!任何人都可以解释原因并请提出改进​​建议......

1 个答案:

答案 0 :(得分:1)

参数shell=True只会在系统/bin/sh的默认shell中的shell中执行命令。要启动新的终端窗口,您需要指定终端:

subprocess.Popen(["xterm", "python"])

上面的行打开一个新的xterm终端窗口并在其中执行python命令。