Python脚本在终端执行命令
我之前在某个地方看到过这个,但现在找不到了。我想找一个可以在终端执行命令并输出结果的指令。
比如说:这个脚本会是:
command 'ls -l'
它会把在终端运行那个命令的结果输出出来。
11 个回答
10
import os
os.system("echo 'hello world'")
这个应该可以运行。我不知道怎么把输出打印到Python的命令行里。
63
我更喜欢使用 subprocess 模块:
from subprocess import call
call(["ls", "-l"])
原因是,如果你想在脚本中传递一些变量,这个模块提供了非常简单的方法。例如,看看下面这段代码:
abc = a.c
call(["vim", abc])
274
有几种方法可以做到这一点:
一种简单的方法是使用os模块:
import os
os.system("ls -l")
更复杂的操作可以通过subprocess模块来实现,比如:
import subprocess
test = subprocess.Popen(["ping","-W","2","-c", "1", "192.168.1.70"], stdout=subprocess.PIPE)
output = test.communicate()[0]