我刚刚学习python(使用2.7.8),我试图找出什么是评估系统命令的输出最好的方法。我读过使用subprocess
。 例如,我需要运行这个IF
陈述并评估任何东西> 0
,然后处理它。蟒蛇 - 如何正确评估系统命令的值
UNIX命令的例子: cat dump_cars_tbl.out | grep -i hummer | wc -l'
(在这种情况下,它应该返回的1
值)
在Python中,我测试过这一点,但我的结果是错误的。它应该返回一个Yes
。
>>> import subprocess
>>> mycat=subprocess.call('cat dump_cars_tbl.out | grep -i hummer | wc -l', shell=True)
1
>>> if mycat > 0:
... print('Yes')
... else:
... print('No')
...
No
我在做什么错?另外,我应该使用subprocess.call
这样的东西吗?我还需要确保命令mycat
也不会返回错误。
如果你有更好的例子来说明如何执行和执行这样的命令,请给我看看。谢谢。
'subprocess.call'的结果是*错误代码*,在进程成功完成的情况下应该为零。您可能正在寻找'subprocess.check_output'。 – jme
@jme - 谢谢澄清。 – noober