[英]python subprocess use cmd for print() commands
我有一个python代码,应该在其他文件中执行另一个代码。
由于某些原因,我现在没有时间解释,我需要使用subprocess
-module或类似的东西。 我的功能应该使用第二个文件中的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
的输出创建一个新窗口。 这不会发生! 谁能解释原因,请提出改进建议...
参数shell=True
将仅在系统/bin/sh
默认外壳程序中的外壳程序中执行命令。 要启动新的终端窗口,您需要指定终端:
subprocess.Popen(["xterm", "python"])
上一行打开一个新的xterm终端窗口,并在其中执行python
命令。
在Windows上,您可以打开一个新的cmd窗口并在该窗口上执行代码
from subprocess import Popen
from subprocess import Popen, CREATE_NEW_CONSOLE
def startFileInNewProcess(filename):
terminal='cmd'
command='Python'
command=terminal +' '+ '/K' +' '+command+' '+filename
#/K keeps the command prompt open when execution takes place
#CREATE_NEW_CONSOLE opens a new console
proc = subprocess.Popen(command,creationflags=CREATE_NEW_CONSOLE)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.