如何使用 Python 按行读取完整文本文件?


Python 内置了文件创建、写入和读取功能。在 Python 中,可以处理两种类型的文件:文本文件和二进制文件(以二进制语言、0 和 1 编写)。

让我们了解如何在 Python 中打开文件。Python 是一种优秀的通用编程语言,其标准库中包含许多有用的文件 I/O 函数和模块。

您可以使用内置的 open() 函数打开用于读取或写入的文件对象。您可以按照以下方式使用它来打开文件。

语法

下面显示了open() 方法的语法。

File = open(“txt_file_name” ,”access_mode”)

Python 中有 6 种访问模式,分别是‘r’、‘r+’、‘w’、‘w+’、‘a’‘a+’。它们解释如下。

  • 只读 ('r') − 此模式用于打开文本文件以进行读取。

  • 读写 ('r+') − 此模式允许您读取和写入文件。

  • 只写 ('w') − 此模式允许您写入文件。

  • 写读 ('w+') − 此模式允许您读取和写入文件。

  • 只追加 ('a') − 此模式允许您写入文件。

  • 追加和读取 ('a+') − 此模式允许您读取和写入文件。

在本文中,我们将了解如何逐行读取文件。

示例

以下是以读取模式打开名为example.txt文件的示例。

file= open("example.txt", "r")

输出

执行上述程序后,将生成以下输出。

example.txt 文件以读取模式打开。

使用 readline() 方法

readline() 方法用于在 Python 中逐行读取文件。

示例

以下是一个使用readline() 方法的示例,该方法读取单行,需要我们使用和递增计数器。此代码示例打开一个文件对象,其引用保存在fp中,然后在 while 循环中迭代地调用该文件对象的readline()来一次读取一行。然后将该行打印到控制台。

#python program to read a file line by line using readline()
file = 'example.txt'
#Opening a file whose reference is stored in fp
with open(file) as fp:
   line = fp.readline()
   cnt = 1
   while line:
#pritning the content as it reads line by line        
      print("Line {}: {}".format(cnt, line.strip()))
      line = fp.readline()
      cnt += 1

输出

执行上述程序后,将生成以下输出。

使用 readlines() 方法

readlines() 方法用于一次读取所有行并将每一行作为字符串元素返回到列表中。此函数适用于小型文件,因为它将整个文件内容读取到内存中,然后将其拆分为行。使用strip()函数,我们可以遍历列表并删除换行符'\n'。

示例 1

以下是一个 Python 程序,它使用readlines() 方法逐行读取文件。名为 example.txt 的文件使用open()函数以只读模式打开。然后,使用readlines()方法,将文件的行作为输出打印。

#python program to read a file line by line using readlines()
#Opening a file win read access mode
file = open("example.txt","r")
#printing the lines of the file using readlines()
print(file.readlines())

输出

执行上述程序后,将生成以下输出。

示例 2

readlines() 方法读取每一行并将其放入列表中。然后,我们可以遍历该列表并使用enumerate()为每一行创建索引。

file = open('example.txt', 'r')
fileContent= file.readlines()

for index, line in enumerate(fileContent):
   print("Line {}: {}".format(index, line.strip()))
file.close()

输出

执行上述程序后,将生成以下输出。

更新于: 2023年5月11日

浏览量:772

启动您的职业生涯

完成课程获得认证

开始学习
广告