readlines() 在 Python 3 中是否返回列表或迭代器?
问题描述
我读过深入 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 asxreadlines()
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.
>>>
相关文章