readlines() 在 Python 3 中是否返回列表或迭代器?

2022-01-10 00:00:00 python python-3.x iterator readlines

问题描述

我读过深入 Python 3".那:

I've read in "Dive into Python 3" that:

readlines() 方法现在返回一个迭代器,因此它与 Python 2 中的 xreadlines() 一样高效".em>

"The readlines() method now returns an iterator, so it is just as efficient as xreadlines() was in Python 2".

参见:附录 A:移植代码使用 2to3 到 Python 3:A.26 xreadlines() I/O 方法.

我不确定这是不是真的,因为他们在这里没有提到:http://docs.python.org/release/3.0.1/whatsnew/3.0.html .如何检查?

I'm not sure that's true because they don't mention it here: http://docs.python.org/release/3.0.1/whatsnew/3.0.html . How can I check that?


解决方案

像这样:

Python 3.1.2 (r312:79149, Mar 21 2010, 00:41:52) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> f = open('/junk/so/foo.txt')
>>> type(f.readlines())
<class 'list'>
>>> help(f.readlines)
Help on built-in function readlines:

readlines(...)
    Return a list of lines from the stream.

    hint can be specified to control the number of lines read: no more
    lines will be read if the total size (in bytes/characters) of all
    lines so far exceeds hint.

>>>

相关文章