在 Python 中執行 Bash 指令
問題
Python 腳本無法使用 os.system() 執行 Bash 指令。錯誤訊息表示未找到 Python 模組。
答案
要解決此問題並增強對在Python 中執行Bash 指令的理解,請考慮以下方面:
-
首選子流程模組:使用subprocess.run() 或subprocess.check_call()等相關方法以獲得更好的效果錯誤處理和控制。避免使用 os.system()。
-
使用 text=True: 設定 text=True 將標準輸出和錯誤解碼為 Unicode 字串。
-
理解 shell=True 與 shell=False:
- shell=True 透過字串到 shell 執行。
- shell=False 繞過 shell 向作業系統提供參數清單。
一般情況下,透過傳遞清單來避免混合這些選項shell=True 的字串或 shell=False 的單一字串。
-
考慮sh 之間的差異和Bash:
- 子程序預設使用/bin/sh,除非您指定executable= '/bin/bash',這對於僅Bash 語法是必需的。
-
避免更改父級環境:
- 子程序無法更改父進程的環境,包括設定變數或更改工作目錄。使用 os.environ[] 或使用 env= 將環境變數傳遞給子程序。
-
避免從Python 運行Python:
以上是如何從 Python 腳本中成功執行 Bash 命令?的詳細內容。更多資訊請關注PHP中文網其他相關文章!