繁体   English   中英

python子进程将cmd用于print()命令

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM