2024-10-02 00:31:48 发布
网友
在这里,我打开sys.argv列表的第二个值进行读取,将文件对象存储在变量f中,然后逐行处理文件:
sys.argv
f
f = open(sys.argv[1]) for line in f:
Python如何知道它必须逐行读取文件?起初我认为line本身有某种特殊的含义,但我也可以做for xine in f:,它仍然有效。Python知道如果for循环的序列部分是文件(或file对象),它必须逐行读取文件吗?你知道吗
line
for xine in f:
Does Python know that it has to read a file line by line if the sequence part of the for loop is a file(or file object)?
是的,在Python中文件对象就是这样实现的。你知道吗
file对象是迭代器对象,其next方法返回一行。把它放在for中只需反复调用next方法,得到的是文件的行,这些行被依次分配给循环变量:line、xine或任何其他有效的分配目标。你知道吗
next
for
xine
for line in f: # do something with line
等同于:
line = next(f) # do something with line line = next(f) # do something with line ... # repeat until EOF
是的,在Python中文件对象就是这样实现的。你知道吗
file对象是迭代器对象,其
next
方法返回一行。把它放在for
中只需反复调用next
方法,得到的是文件的行,这些行被依次分配给循环变量:line
、xine
或任何其他有效的分配目标。你知道吗等同于:
相关问题 更多 >
编程相关推荐