Bash
如何在 python 腳本中執行 bash 命令
如何
sudo apt update
從 python 腳本啟動具有多個參數(例如“”)的 bash 命令?
@milne 的回答有效,但
subprocess.call()
給您的回饋很少。我更喜歡使用
subprocess.check_output()
這樣您就可以分析列印到標準輸出的內容:import subprocess res = subprocess.check_output(["sudo", "apt", "update"]) for line in res.splitlines(): # process the output line by line
check_output
在呼叫命令的零退出時引發錯誤
bash
請注意,如果您沒有為函式指定關鍵字參數,這不會呼叫或另一個 shellshell
(對於 也是如此subprocess.call()
,如果沒有必要,您不應該這樣做,因為它會帶來安全隱患),它會直接呼叫命令。如果您發現自己從 Python 執行了很多(不同的)命令呼叫,您可能需要查看plumbum。有了它,您可以使(IMO)更具可讀性:
from plumbum.cmd import sudo, apt, echo, cut res = sudo[apt["update"]]() chain = echo["hello"] | cut["-c", "2-"] chain()