Python 如何逐行读取完整文本文件

Python 如何逐行读取完整文本文件

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

让我们了解如何在Python中打开一个文件。Python是一种很好的通用编程语言,在其标准库中具有许多有用的文件IO函数和模块。

您可以使用内置的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

输出

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

Python 如何逐行读取完整文本文件

使用readlines()方法

readlines()方法用于一次读取所有行,并将每行作为列表中的一个字符串元素返回。这个函数对于小文件非常有用,因为它将整个文件内容读入内存,然后将其分割成行。使用strip()函数,我们可以循环遍历列表并删除换行符’\n’。

示例1

下面是一个使用readlines()方法逐行读取文件的Python程序。使用open()函数以只读模式打开名为example.txt的文件。然后,使用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())

输出

在执行以上程序时,会产生以下输出结果。

Python 如何逐行读取完整文本文件

示例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()

输出

在执行上述程序时,生成以下输出。

Python 如何逐行读取完整文本文件

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程