0

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

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

我如何解决这个问题?

4

1 回答 1

1

os.system返回子进程的退出状态。如果您想发送以下输出sensor1.sh

import subprocess

...
conn = ...
...

out = subprocess.check_output(['./sensor1.sh'])
conn.sendall(out)
于 2013-06-21T17:32:33.140 回答