使用python函数启动应用程序并运行命令

时间:2017-09-11 08:36:29

标签: python operating-system subprocess

我希望能够使用python脚本启动应用程序,例如Notepad或Chrome。我试过使用os.startfile()函数:

import os
os.startfile('Notepad')

它可以工作,但当我通过它运行cmd命令时,例如whoami:

import os
os.startfile('whoami')

这将打开一个自动关闭的窗口。另一件事是当使用子进程模块并从那里打开应用程序时,程序挂起。在等待继续执行之前,它等待我关闭我打开的程序。我希望能够运行应用程序,同时能够运行cmd命令并将输出存储在变量中,而程序不会等待我退出它打开的应用程序,所有这些都在一个函数中。我怎样才能按照我设定的标准来实现这一目标

1 个答案:

答案 0 :(得分:0)

您可以使用标准库subprocess

执行此操作
import subprocess

subprocess.Popen(prog)
print('This is some real multi-tasking!')

请注意,正在运行程序的print语句。

修改

好的,试试这个:

import subprocess

proc = subprocess.Popen('whoami', stdout=subprocess.PIPE)
output = proc.stdout.read()
print(output.decode())