2016-06-16 2 views
0

나는 hcitool lescan을 사용하여 ble 장치를 파이썬 코드로 스캔하려고했습니다. hcitool lescan은 명령 행에서 제대로 작동하지만 subcan.Popen을 사용하여 출력을 반환하지 못합니다. 레 코드가 '스캔'즉 일반 블루투스 스캔으로 바뀌면 코드가 올바르게 작동합니다. 내 코드는 다음과 같습니다hcitool 레만의 출력을 저장하는 방법은 무엇입니까?

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

'.wait()'을'.readlines()'보다 먼저 호출 할 생각은 어디서 났습니까? – jfs

답변

0

당신이 의사 소통을 사용하려고 있나요?

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

사용

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

의 당신을 위해 무엇을 찾고있는 문자열입니다.