python - 执行命令并获取输出

时间:2015-12-15 09:46:46

标签: python cmd

我需要构建一个可以执行命令行命令并发回命令输出的服务器

示例:

对于command-echo hello world,服务器将返回字符串" hello world"。

我尝试使用subprocess.call()函数,但它返回一个数字而不是字符串。我准备好了服务器,我只需要这个。

代码:

type=struct.pack("B",2) #packing type
data=subprocess.call(client_data, shell=True)
length=struct.pack("H",len(data)) #packing lenght
client_soc.send(type+length+data)

2 个答案:

答案 0 :(得分:5)

如何使用jar代替?从手册: “使用参数运行命令并将其输出作为字节字符串返回。”

那就像subprocess.check_output那样。

有关详细信息,请参阅this man page

答案 1 :(得分:1)

也许这段代码会有所帮助

import subprocess

proc = subprocess.Popen('ping google.com', stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
tmp = proc.stdout.read()
print tmp