我试图在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
答案 0 :(得分:0)
您是否尝试过使用沟通?
proc = subprocess.Popen(...)
stdout, stderr = proc.communicate()
答案 1 :(得分:0)
使用
from commands import getoutput as shell
s = shell('hcitool scan')
s是一个包含所需内容的字符串。