如何存储hcitool lescan的输出?

时间:2016-06-16 13:30:11

标签: python-2.7 bluetooth subprocess bluez

我试图在python代码中使用hcitool lescan扫描ble设备。 hcitool lescan在命令行上运行良好,但无法使用subprocess.Popen返回任何输出。当使用' scan'替换lescan时,代码工作正常。即扫描传统的蓝牙。  我的代码是:

import os
import time
import subprocess 
proc = subprocess.Popen(['sudo','timeout', '20s','hcitool', 'lescan'],stdout=subprocess.PIPE)
proc.wait()
lines = proc.stdout.readlines()
print lines

2 个答案:

答案 0 :(得分:0)

您是否尝试过使用沟通?

proc = subprocess.Popen(...)
stdout, stderr = proc.communicate()

答案 1 :(得分:0)

使用

from commands import getoutput as shell
s = shell('hcitool scan')

s是一个包含所需内容的字符串。