python-执行命令并获取outpu

2024-06-16 12:12:04 发布

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

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

示例:

对于命令-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)

Tags: 字符串命令服务器clienthelloworlddatatype
2条回答

也许这段代码会有帮助

import subprocess

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

改用subprocess.check_output怎么样?从手册中: “使用参数运行命令,并将其输出作为字节字符串返回。”

那就有点像data = subprocess.check_output(client_data, shell=True)

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

相关问题 更多 >