当for循环的序列部分是文件时,Python如何知道它必须逐行读取文件?
在这里,我打开当for循环的序列部分是文件时,Python如何知道它必须逐行读取文件?,python,Python,在这里,我打开sys.argv列表的第二个值进行读取,将文件对象存储在变量f中,然后逐行处理文件: f = open(sys.argv[1]) for line in f: Python如何知道它必须逐行读取文件?起初我认为,line本身有某种特殊的含义,但我也可以在f:中为xine做,它仍然有效。Python是否知道,如果for循环的序列部分是文件(或文件对象),它必须逐行读取文件 Python是否知道,如果 for循环的序列部分是文件(或文件对象) 是的,在Python中文件对象就是这样实
sys.argv
列表的第二个值进行读取,将文件对象存储在变量f
中,然后逐行处理文件:
f = open(sys.argv[1])
for line in f:
Python如何知道它必须逐行读取文件?起初我认为,line
本身有某种特殊的含义,但我也可以在f:中为xine做,它仍然有效。Python是否知道,如果for循环的序列部分是文件(或文件对象),它必须逐行读取文件
Python是否知道,如果
for循环的序列部分是文件(或文件对象)
是的,在Python中文件对象就是这样实现的
文件对象是迭代器对象,其next
方法返回一行。将其放入for
中,只需重复调用next
方法,您得到的是连续分配给循环变量的文件行:line
、xine
或任何其他有效分配目标
是做的同义词:
line = next(f)
# do something with line
line = next(f)
# do something with line
...
# repeat until EOF
Python是否知道,如果
for循环的序列部分是文件(或文件对象)
是的,在Python中文件对象就是这样实现的
文件对象是迭代器对象,其next
方法返回一行。将其放入for
中,只需重复调用next
方法,您得到的是连续分配给循环变量的文件行:line
、xine
或任何其他有效分配目标
是做的同义词:
line = next(f)
# do something with line
line = next(f)
# do something with line
...
# repeat until EOF
文件
类型有一个\uu iter\uu()
方法,该方法返回一个逐行迭代器。任何类型(包括您自己编写的类型)都可以使用此方法来指示迭代时的行为。请参阅文件
类型有一个\uuu iter\uuu()
方法,该方法返回逐行迭代器。任何类型(包括您自己编写的类型)都可以使用此方法来指示迭代时的行为。看见