conn.sendall(os.system(... .sh))不发送给我的客户端python

时间:2013-06-21 17:23:52

标签: python python-2.7

我想在套接字服务器中为我的客户发送:

conn.sendall(os.system('./sensor1.sh'))

sensor1.sh的代码是:

#!/bin/bash
i2cget -y 1 0x48 0x00 w |
awk '{printf("%.1f\n",(a=(\
(("0x"substr($1,5,2)substr($1,3,1))*0.0625))\
)> 128?a-256:a)}'

这项工作很好,我可以看到我的温度传感器的差异,但我无法为我的客户发送信息。错误是: 必须是字符串或缓冲区,而不是int

我如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

os.system返回子进程的退出状态。如果要发送sensor1.sh的输出:

import subprocess

...
conn = ...
...

out = subprocess.check_output(['./sensor1.sh'])
conn.sendall(out)