如何使用 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()
输出
执行上述程序后,将生成以下输出。