我正在玩子进程库.我可以表演
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'
Run Code Online (Sandbox Code Playgroud)
不太清楚为什么.我想可能是我对子流程缺乏了解.我该如何解决这个错误?
Pad*_*ham 19
check_output被介绍,python 2.7所以不会工作< 2.7.
您可以使用Popenwith communicate来获取输出.
from subprocess import PIPE,Popen
proc = Popen(['ls', '-l'], stdout=PIPE)
print(proc.communicate()[0].split())
Run Code Online (Sandbox Code Playgroud)
这部分文档可能很有用
| 归档时间: |
|
| 查看次数: |
26725 次 |
| 最近记录: |