我是python的新手我一直在使用popen执行命令,但我期待多行响应,我需要分别使用每一行。
我从教程中获得了以下代码。
pipe = os.popen('dir')
for line in pipe:
print '--------------space---------------------'
print pipe.readLine()
但知道我一直收到以下错误:
AttributeError:'file'对象没有属性'readLine'
有没有人对我有任何建议,或者想知道如何改善这一点。
感谢您的帮助
答案 0 :(得分:1)
修复语法let manDog: ManDog;
使用小写l。
但是,我想知道你想要完成的事情。如果您只想打印每一行,那么您应该只更改readline
- > print pipe.readline()
。
print line
您的import os
pipe = os.popen('dir')
for line in pipe:
print '--------------space---------------------'
print line
循环已经从for
逐行读取输出。实际上,如果您尝试在迭代中调用popen
,则它是非法的,您的代码将引发异常。
为了说明异常,你可以尝试运行它:
pipe.readline()
答案 1 :(得分:1)
使用子进程模块,它具有许多与其他进程交互的有用功能。 check_output或call将完成工作
import subprocess
output = subprocess.check_output('dir', universal_newlines=True)