我已經閱讀了許多關於這個主題的問題,甚至2個已經接受了答案,然後在評論中有同樣的問題,我正在經歷。如何讀取執行的shell命令的輸出?
所以我想要做的就是抓住這個命令的輸出(在命令行工作)
sudo /usr/bin/atq
在我的Python程序。
這是我的代碼(這是一個公認的答案在另一個問題)
from subprocess import Popen, PIPE
output = Popen(['sudo /usr/bin/atq', ''], stdout=PIPE)
print output.stdout.read()
,這是結果:
File "try2.py", line 3, in <module>
output = Popen(['sudo /usr/bin/atq', ''], stdout=PIPE)
File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1259, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
爲什麼啊,爲什麼是這樣的結果(在Python 2.7,在Debian Raspbarry Wheezy上安裝)?
嘗試'subprocess.check_output()'。 –
什麼是快速回答....它的工作原理!你可以發佈它作爲答案... – Michel
已經發布。 –