我在玩子流程库。我可以表演
v = subprocess.check_output("ls")
而且效果很好。但是,当我SSH进入计算机并想执行hadoop命令时,
v = subprocess.check_output("hadoop fs -ls /path/to/file* | grep -oE '/(.*)'")
我懂了
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'check_output'
不太清楚为什么。我认为可能是我对子流程缺乏了解。我该如何解决此错误?
check_output
被引入,python 2.7
因此对无效< 2.7
。
您可以使用Popen
withcommunicate
获得输出。
from subprocess import PIPE,Popen
proc = Popen(['ls', '-l'], stdout=PIPE)
print(proc.communicate()[0].split())
这部分文档可能会有用
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句