Skip to main content
 首页 » 编程设计

python之python如何从文件中读取行

2025年05月04日16exmyth

考虑以下简单的 python 代码:

f=open('raw1', 'r') 
i=1 
for line in f: 
    line1=line.split() 
    for word in line1: 
        print word, 
print '\n' 

在第一个 for 循环中,即“for line in f:”,python 如何知道我想要读取一行而不是一个单词或字符?

第二个循环更清晰,因为第 1 行是一个列表。所以第二个循环将遍历列表元素。

请您参考如下方法:

Python 有一种称为“iterables”的符号。它们知道如何让你遍历它们持有的一些数据。一些常见的迭代器是列表、集合、字典,几乎所有数据结构。文件也不异常(exception)。

事物变得可迭代的方式是通过定义一个方法来返回一个带有 next 方法的对象。这个next方法的意思是重复调用,每次返回下一条数据。 for foo in bar 循环实际上只是在幕后重复调用 next 方法。

对于文件,next 方法返回行,仅此而已。它“不知道”您想要线路,它总是会返回线路。这样做的原因是~50%的涉及文件遍历的情况都是按行的,如果要的话,

 for word in (word for line in f for word in line.split(' ')): 
     ... 

工作得很好。