如何从 Python 脚本在终端中执行命令?

How to execute a command in the terminal from a Python script?

我想从 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)

您可以使用 subprocess.check_call 模块来 运行 命令,您不需要回显到 运行 命令:

from subprocess import check_call

check_call(["./driver.exe", "bondville.dat"])

相当于 运行ning ./driver.exe bondville.dat 从 bash.

如果你想获得输出,你可以使用 check_outout:

from subprocess import check_output

out = check_output(["./driver.exe", "bondville.dat"])

在您自己的代码中,您基本上是在回显字符串 command 而不是 运行 命令,即 echo "./driver.exe bondville.dat" 会在您的 [=27= 中输出 ./driver.exe bondville.dat ].

试试这个:

import subprocess
subprocess.call("./driver.exe bondville.dat")