调用外部命令
最简单的用例是使用 subprocess.call
函数。它接受列表作为第一个参数。列表中的第一项应该是你要调用的外部应用程序。列表中的其他项是将传递给该应用程序的参数。
subprocess.call([r'C:\path\to\app.exe', 'arg1', '--flag', 'arg'])
对于 shell 命令,设置 shell=True
并将命令作为字符串而不是列表提供。
subprocess.call('echo "Hello, world"', shell=True)
请注意,上面的两个命令仅返回子进程的 exit status
。此外,使用 shell=True
时要注意,因为它提供了安全问题(见这里 )。
如果你希望能够获得子流程的标准输出,则将 subprocess.call
替换为 subprocess.check_output
。有关更高级的用法,请参阅此处 。