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

2024-04-29 15:16:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我想从Python脚本在终端执行一个命令。

 ./driver.exe bondville.dat

此命令正在终端中打印,但无法执行。

以下是我的步骤:

echo = "echo"
command="./driver.exe"+" "+"bondville.dat"
os.system(echo + " " + command)

它应该执行命令,但它只是在终端上打印。当人工喂食同样的东西时,它正在执行。我怎么从剧本里做这个?


Tags: 命令echo脚本终端osdriver步骤执行命令
3条回答

echo终端命令返回其参数,因此将命令打印到终端是预期的结果。

你正在输入echo driver.exe bondville.dat并且它正在运行你的driver.exe程序吗?
如果没有,则需要去掉代码最后一行的echo:

os.system(command)

试试这个:

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

您可以使用subprocess.check_call模块来运行该命令,而不需要echo来运行该命令:

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",该命令将在shell中输出./driver.exe bondville.dat

相关问题 更多 >