我想在Python腳本中執行終端中的命令。如何從Python腳本執行終端中的命令?
./driver.exe bondville.dat
該命令在終端打印,但未能執行。
這裏是我的步驟:
echo = "echo"
command="./driver.exe"+" "+"bondville.dat"
os.system(echo + " " + command)
其應該執行的命令,但它只是在打印終端上。當手動提供相同的東西時,它正在執行。我如何從腳本執行此操作?
我想在Python腳本中執行終端中的命令。如何從Python腳本執行終端中的命令?
./driver.exe bondville.dat
該命令在終端打印,但未能執行。
這裏是我的步驟:
echo = "echo"
command="./driver.exe"+" "+"bondville.dat"
os.system(echo + " " + command)
其應該執行的命令,但它只是在打印終端上。當手動提供相同的東西時,它正在執行。我如何從腳本執行此操作?
echo
終端命令回聲它的參數,所以打印命令到終端是預期的結果。
您是否正在輸入echo driver.exe bondville.dat
並運行您的driver.exe
程序?
如果沒有,那麼你需要在你的代碼的最後一行擺脫回聲:
os.system(command)
感謝它工作! – Mario
可以使用subprocess.check_call模塊運行命令,你不需要爲了呼應運行命令:
from subprocess import check_call
check_call(["./driver.exe", "bondville.dat"])
這相當於從bash運行./driver.exe bondville.dat
。
如果你想獲得你可以使用check_outout輸出:
from subprocess import check_output
out = check_output(["./driver.exe", "bondville.dat"])
在自己的代碼,你基本上呼應串command
沒有實際運行該命令即echo "./driver.exe bondville.dat"
這將輸出./driver.exe bondville.dat
在你的shell。
試試這個:
import subprocess
subprocess.call("./driver.exe bondville.dat")
「試試這個」答案沒有幫助,因爲他們沒有告訴問題是什麼或下次如何解決問題。 –
使用子模塊 –
@PadraicCunningham我是新來的蟒蛇,這子模塊似乎很難,我來處理。如何使用這個? – Mario
你想存儲輸出還是隻運行命令? –