呼叫外部命令

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