Python 3中的File对象不支持next()方法。 Python 3有一个内置函数next(),它通过调用其next ()方法从迭代器中检索下一个项目。 如果给定了默认值,则在迭代器耗尽返回此默认值,否则会引发StopIteration。 该方法可用于从文件对象读取下一个输入行。
语法
以下是next()方法的语法 -
next(iterator[,default])
参数
- iterator − 要读取行的文件对象
- default − 如果迭代器耗尽则返回此默认值。 如果没有给出此默认值,则抛出 StopIteration 异常
返回值
此方法返回下一个输入行
英文文档:
next(iterator[, default])
Retrieve the next item from the iterator by calling its __next__() method. If default is given, it is returned if the iterator is exhausted, otherwise StopIteration is raised.
说明:
1. 函数必须接收一个可迭代对象参数,每次调用的时候,返回可迭代对象的下一个元素。如果所有元素均已经返回过,则抛出StopIteration 异常。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
>>> a
=
iter
(
'abcd'
)
>>>
next
(a)
'a'
>>>
next
(a)
'b'
>>>
next
(a)
'c'
>>>
next
(a)
'd'
>>>
next
(a)
Traceback (most recent call last):
File
"<pyshell#18>"
, line
1
,
in
<module>
next
(a)
StopIteration
|
2. 函数可以接收一个可选的default参数,传入default参数后,如果可迭代对象还有元素没有返回,则依次返回其元素值,如果所有元素已经返回,则返回default指定的默认值而不抛出StopIteration 异常。
1
2
3
4
5
6
7
8
9
10
11
12
13
|
>>> a
=
iter
(
'abcd'
)
>>>
next
(a,
'e'
)
'a'
>>>
next
(a,
'e'
)
'b'
>>>
next
(a,
'e'
)
'c'
>>>
next
(a,
'e'
)
'd'
>>>
next
(a,
'e'
)
'e'
>>>
next
(a,
'e'
)
'e'
|