我已經閱讀了發佈在相同參數上的以前的問題,但我還沒有弄明白。Popen無法處理在shell中運行的命令
我試圖運行,沒有問題工作的命令行命令:
[email protected]:~/python-remoteWorkspace/PyLogParser/src:18:43>ush -o PPP -p PRD -n log 'pwd'
6:43PM PPP:prd:lgsprdppp:/ama/log/PRD/ppp
但是當我做相同的蟒蛇,我總是得到錯誤:
stringa = Popen(["ush -o PPP -p PRD -n log 'pwd'"], stdout=PIPE, stdin=PIPE).communicate()[0]
在這裏的錯誤。
Traceback (most recent call last): File "getStatData.py", line 134, in <module>
retrieveListOfFiles(infoToRetList) File "getStatData.py", line 120, in retrieveListOfFiles
stringa = Popen(["ush -o PPP -p PRD -n log 'pwd'"], stdout=PIPE, stdin=PIPE).communicate()[0] File "/opt/python-2.6-64/lib/python2.6/subprocess.py", line 595, in __init__
errread, errwrite) File "/opt/python-2.6-64/lib/python2.6/subprocess.py", line 1092, in _execute_child
raise child_exception OSError: [Errno 2] No such file or directory
我也嘗試了不同的解決方案,如
stringa = Popen(["ush", "-o", "PPP", "-p" "PRD", "-n", "log", '"pwd"'], stdout=PIPE, stdin=PIPE).communicate()[0]
,但似乎沒有任何工作。我也試圖把絕對的道路,但沒有什麼... 有人可以請解釋我,我做錯了什麼?
在此先感謝,AM。
編輯: 我有一個奇怪的事情發生了,當我做
which ush
我得到
ush: aliased to nocorrect /projects/aaaaaaa/local/ush/latest/ush.py
但是爲什麼它那麼工作???
!!!謝謝大家的答案!
'ush -o PPP -p PRD -n log'pwd'從命令行工作嗎? – user225312 2010-12-22 18:01:52
當然,上面的迴應是PPP:prd:lgsprdppp:/ ama/log/PRD/ppp – wheisenberg 2010-12-22 18:02:51
請改善格式。在插入代碼塊時,使用`{}`。 – user225312 2010-12-22 18:04:36