呼叫外部命令
最簡單的用例是使用 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
。有關更高階的用法,請參閱此處 。