我想在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
你想存储输出还是只运行命令? –