使用python中的subprocess在两个单独的cmd窗口中启动两个不同的脚本

使用python中的subprocess在两个单独的cmd窗口中启动两个不同的脚本,python,qt,subprocess,Python,Qt,Subprocess,我有一个用Qt编写的pythongui,使用python3.4作为当前的python版本,带有两个按钮。一个启动python脚本,另一个启动perl脚本 Perl按钮启动以下命令: subprocess.Popen(["ipy64.exe", "qadriver.py", arg1, arg2], stdin=subprocess.PIPE, shell=True) subprocess.Popen(["perl.exe", "update.pl", arg], stdin=subproces

我有一个用Qt编写的pythongui,使用python3.4作为当前的python版本,带有两个按钮。一个启动python脚本,另一个启动perl脚本

Perl按钮启动以下命令:

subprocess.Popen(["ipy64.exe", "qadriver.py", arg1, arg2], stdin=subprocess.PIPE, shell=True)
subprocess.Popen(["perl.exe", "update.pl", arg], stdin=subprocess.PIPE, shell=True)
Python按钮启动以下命令:

subprocess.Popen(["ipy64.exe", "qadriver.py", arg1, arg2], stdin=subprocess.PIPE, shell=True)
subprocess.Popen(["perl.exe", "update.pl", arg], stdin=subprocess.PIPE, shell=True)
我想同时单击这两个按钮,并在不同的命令窗口中查看输出。目前,两个程序的输出组合在一个窗口中

是否可以让子进程打开单独的窗口

谢谢


约翰

您可以使用start来执行此操作

subprocess.Popen(["start", "perl.exe", "update.pl", arg], stdin=subprocess.PIPE, shell=True)
请注意,某些程序(如notepad.exe)将在新窗口中打开,但不会创建新的cmd窗口

您可以使用以下行测试此方法:

subprocess.Popen(["start", "dir"], stdin=subprocess.PIPE, shell=True)

你是如何看到输出的?谢谢。工作完美。