2013-02-08 2 views
1

파일을 장치로 푸시 할 때 진행을 시도했습니다. cmd에서 "ADB_TRACE = adb"를 설정할 때 작동합니다 (this page에서 찾을 수 있습니다)ADB_TRACE = adb로 설정할 때 cmd에서 정보를 얻는 방법

그럼 파이썬 2.7에서 사용하고 싶습니다.

cmd = "adb push file /mnt/sdcard/file" 
os.putenv('ADB_TRACE', 'adb') 
os.popen(cmd) 
print cmd.read() 

아무 것도 표시하지 않습니다. 어떻게 이러한 세부 정보를 얻을 수 있습니까?

OS :

답변

1

os.popen WIN7은 중단된다

버전 2.6부터 사용되지 :이 함수는 구식이다. subprocess 모듈을 사용하십시오. 특히 이전 기능을 subprocess 모듈 섹션으로 교체하십시오.

사용 subprocess 대신 :

import subprocess as sp 

cmd = ["adb","push","file","/mnt/sdcard/file"] 
mysp = sp.popen(cmd, env={'ADB_TRACE':'adb'}, stdout=sp.PIPE, stderr=sp.PIPE) 
stdout,stderr = mysp.communicate() 

if mysp.returncode != 0: 
    print stderr 
else: 
    print stdout 
+0

덕분에, 나는 세부 사항을 얻었으나, 명령이 작동 발굴품 당신은 가장 환영합니다 – tastypear

+0

일부 "소켓을 만들 수 없습니다"오류를 가지고 does't. 파이썬 측에서 처리 했으므로'adb' 명령에서 오는 오류에 대해 묻는 또 다른 질문을 만들 것을 고려할 수 있습니다. – bernie

+0

오케이, 다른 것을 만들 것입니다 :) – tastypear