【发布时间】:2011-05-29 13:31:49
【问题描述】:
我已经阅读了关于同一论点的先前问题,但我真的还没有弄清楚。
我正在尝试从命令行运行一个没有问题的命令:
xyz@klm:~/python-remoteWorkspace/PyLogParser/src:18:43>ush -o PPP -p PRD -n log 'pwd'
6:43PM PPP:prd:lgsprdppp:/ama/log/PRD/ppp
但是当我在 python 中做同样的事情时,我总是会出错:
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]
但似乎没有任何效果。我也试图把绝对路径放到 ush 但什么都没有...... 有人可以解释一下我做错了什么吗?
提前致谢,上午。
编辑: 当我这样做时,我发生了一件奇怪的事情
which ush
我明白了
ush: aliased to nocorrect /projects/aaaaaaa/local/ush/latest/ush.py
但是为什么它会工作呢???
!!!谢谢大家的解答!!!
【问题讨论】:
-
ush -o PPP -p PRD -n log 'pwd'在命令行中工作吗? -
当然,响应在 PPP:prd:lgsprdppp:/ama/log/PRD/ppp 上面
-
请改进格式。插入代码块时,使用
{}。 -
你的
import声明是什么样的? -
嗨,这里是我的导入... from subprocess import Popen, PIPE
标签: python subprocess popen