您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python – 迭代类文件和调用readline之间的区别

5b51 2022/1/14 8:21:14 python 字数 1722 阅读 486 来源 www.jb51.cc/python

我一直认为在Python中迭代文件就等于在循环中调用它的readline方法,但是今天我发现了一种情况并非如此.具体来说,我有一个Popen'd进程plist(itertools.takewhile(lambda x: x != '\n', p.stdout)) 挂起(大概是因为p等待输入; stdin和st

概述

我一直认为在Python中迭代文件就等于在循环中调用它的readline方法,但是今天我发现了一种情况并非如此.具体来说,我有一个Popen’d进程p

list(itertools.takewhile(lambda x: x != "\n",p.stdout))

挂起(大概是因为p等待输入; stdin和stdout都是我的Python进程的管道),而以下工作:

list(itertools.takewhile(lambda x: x != "\n",iter(p.stdout.readline,"")))

有人可以解释这个区别吗?

正如Sven Marnach在对你的问题的评论中暗示的那样,你可以使用iter(f.readline,”)来获取一个迭代器,它从文件读取行而不读取块,但代价是性能.

总结

以上是编程之家为你收集整理的python – 迭代类文件和调用readline之间的区别全部内容,希望文章能够帮你解决python – 迭代类文件和调用readline之间的区别所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶