我需要构建一个服务器,它可以执行命令行命令并发送回命令的输出
示例:
对于命令-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)
也许这段代码会有帮助
改用
subprocess.check_output
怎么样?从手册中: “使用参数运行命令,并将其输出作为字节字符串返回。”那就有点像
data = subprocess.check_output(client_data, shell=True)
。有关详细信息,请参见this man page。
相关问题 更多 >
编程相关推荐