我想使用該subprocess.call(command)函式執行我之前從 python 編譯的另一個程式。
但是,python 宣告它找不到命令。我懷疑子行程無法找到我的自定義命令,因為它不知道PATH我的 Ubuntu 系統的變數。是否有可能以某種方式執行以下代碼,其中 command 是我的一部分PATH?
import subprocess
subprocess.run("command -args")
運行此代碼會導致錯誤command not found。
uj5u.com熱心網友回復:
您可以提供命令的顯式路徑:
subprocess.run('/full/path/to/command.sh')
或者PATH在你的 Python 代碼中修改你的變數:
import os
os.environ['PATH'] = ':' '/full/path/to/'
subprocess.run('command.sh')
uj5u.com熱心網友回復:
您可以修改環境變數。但是在傳遞引數時要小心。
嘗試這樣的事情:
import os
import subprocess
my_env = os.environ.copy()
my_env["PATH"] = "/usr/test/path:" my_env["PATH"]
subprocess.run(["command", "-args"], env=my_env)
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/365143.html
