在终端中,我的代码有两种可能的结果:无法连接RFCOMM套接字:权限被拒绝
和无法连接RFCOMM套接字:主机已关闭
。我需要将其中任意一种结果存储为字符串变量,但是我尝试过的所有方法都失败了。以下是我认为可以做到这一点的代码:
from subprocess import check_output
out = check_output(["sudo", "rfcomm", "connect", "0", "AA:BB:CC:DD:EE:FF", "10"])
print "output: %s" % out
相反,我什么都没有得到:
user:~/home $./foo.py
Can't connect RFCOMM socket: Permission denied
output:
另一种尝试:
proc = subprocess.Popen(["sudo rfcom connect 0 AA:BB:CC:DD:EE:FF 10"], stdout=subprocess.PIPE, shell=True)
(out, err) = proc.communicate()
print "output: %s" % out, err
这至少在我打印时提供了一些信息。不幸的是,它告诉我“None”,并没有实际的输出:
user:~/home $./foo.py
Can't connect RFCOMM socket: Permission denied
output: None
stderr=subprocess.PIPE
? - Gerrat