使用 python 中的子进程在两个单独的 cmd windows 中启动两个不同的脚本
Launch two different scripts in two separate cmd windows using subprocess in python
我有一个用 Qt 编写的 python GUI,使用 Python 3.4 作为当前 python 版本,带有两个按钮。一个启动 python 脚本,另一个启动 perl 脚本。
Perl 按钮启动这个:
subprocess.Popen(["ipy64.exe", "qadriver.py", arg1, arg2], stdin=subprocess.PIPE, shell=True)
Python 按钮启动这个:
subprocess.Popen(["perl.exe", "update.pl", arg], stdin=subprocess.PIPE, shell=True)
我想同时单击两个按钮并查看不同命令的输出 windows。目前,两个程序的输出合并在一个 window 中。
是否可以让子进程单独打开 windows?
谢谢,
约翰。
您可以使用 start 来执行此操作
subprocess.Popen(["start", "perl.exe", "update.pl", arg], stdin=subprocess.PIPE, shell=True)
请注意,notepad.exe 等某些程序将在新的 window 中打开,但不会创建新的 cmd window。
您可以使用以下行测试此方法:
subprocess.Popen(["start", "dir"], stdin=subprocess.PIPE, shell=True)
我有一个用 Qt 编写的 python GUI,使用 Python 3.4 作为当前 python 版本,带有两个按钮。一个启动 python 脚本,另一个启动 perl 脚本。
Perl 按钮启动这个:
subprocess.Popen(["ipy64.exe", "qadriver.py", arg1, arg2], stdin=subprocess.PIPE, shell=True)
Python 按钮启动这个:
subprocess.Popen(["perl.exe", "update.pl", arg], stdin=subprocess.PIPE, shell=True)
我想同时单击两个按钮并查看不同命令的输出 windows。目前,两个程序的输出合并在一个 window 中。
是否可以让子进程单独打开 windows?
谢谢,
约翰。
您可以使用 start 来执行此操作
subprocess.Popen(["start", "perl.exe", "update.pl", arg], stdin=subprocess.PIPE, shell=True)
请注意,notepad.exe 等某些程序将在新的 window 中打开,但不会创建新的 cmd window。
您可以使用以下行测试此方法:
subprocess.Popen(["start", "dir"], stdin=subprocess.PIPE, shell=True)