概述
我一直认为在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之间的区别所遇到的程序开发问题。
如果您也喜欢它,动动您的小指点个赞吧