我的代碼在終端中有兩個潛在的結果:Can't connect RFCOMM socket: Permission denied
和Can't connect RFCOMM socket: Host is down
。我需要將結果作爲字符串存儲在變量中,但我嘗試過的所有內容都失敗了。這是我想會做它的代碼:無法用python存儲子進程的終端輸出
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
這至少給我的東西當我打印。不幸的是它的「無」告訴我沒有任何錯誤,而不是實際的輸出:
user:~/home $./foo.py
Can't connect RFCOMM socket: Permission denied
output: None
我已經嘗試過thisthisthisthis,也許一對夫婦他人。我確信我在某個地方錯過了一些關鍵知識。感謝任何指針!
你嘗試加入:'STDERR = subprocess.PIPE'? – Gerrat
SON.OF.A.B Gerrat。我向上帝發誓,我多次嘗試過,但沒有奏效。爲了以防萬一,我再給它一次鏡頭,並且它可以工作。 – quelleck