如何使用Python从文本文件中读取整行?

如何使用Python从文本文件中读取整行?

有多种在Python中读取文件的方法。本文将介绍逐行读取文件的最常见方法。

阅读更多:Python 教程

使用readlines()方法

使用此方法,将打开一个文件并将其内容分成单独的行。此方法还会返回文件中每一行的列表。为了有效地读取整个文件,我们可以使用readlines()函数。

以下是使用file.endswith()方法删除交换文件的示例-

示例

以下是使用readlines()方法逐行读取文本文件的示例-

#打开数据文件
file = open("TutorialsPoint.txt")

#按行将文件读取为列表
content = file.readlines()

#关闭文件
file.close()
print(content)

输出

以下是上述代码的输出。

['欢迎来到Tutorials Point\n', '这是一个新文件。\n', '使用Python逐行读取文件\n', '谢谢!']

使用readline()方法

我们可以使用readline()方法获取文本文件的第一行。相比readlines(),使用readline()方法读取文件时只会打印一行。

示例

以下是使用readline()方法读取文本文件的单行的示例-

file = open("TutorialsPoint.txt")
#获取文件的起始行
start_line = file.readline()
print(start_line)
file.close()

输出

readline()函数只返回一行文本。如果要一次读取所有行,请使用readlines()。

以下是上述代码的输出-

欢迎来到Tutorials Point

注意 - readline()方法与其等效方式相比仅从文件中抽取一行。realine()方法还会在字符串的末尾添加尾随换行符。

我们还可以使用readline()方法为返回的行定义一个长度。如果没有指定长度,将读取整行。

使用while循环

可以使用while循环逐行读取指定文件的内容。首先使用open()函数以read模式打开文件来实现此目的。在while循环中使用open()返回的文件句柄来读取行。

while循环使用Python的readline()方法读取行。当使用for循环时,当到达文件结尾时循环会停止。然而,使用while循环不是这种情况,您必须不断检查文件是否已完成读取。因此,您可以在readline()方法返回空字符串时使用break语句来结束while循环。

示例

以下是使用while循环逐行读取文本文件的示例-

file = open("TutorialsPoint.txt", "r")
while file:
   line = file.readline()
   print(line)
   if line == "":
      break
file.close()

输出

以下是以上代码的输出 −

Welcome to Tutorials Point
This is a new file.
Reading a file line by line using Python
Thank You!

使用 for 循环

通过使用 Python 的 open() 函数以只读模式打开文件,开始处理文件。open() 函数将返回一个文件处理器。在 for 循环中,使用文件处理器一次从所提供的文件中读取每行。处理完成后,使用 close() 函数关闭文件处理器。

示例

以下是使用 for 循环按行读取文本文件的示例 −

file = open("TutorialsPoint.txt", "r")
for line in file:
   print(line)
file.close()

输出

以下是以上代码的输出 −

Welcome to Tutorials Point
This is a new file.
Reading a file line by line using Python
Thank You!

使用上下文管理器

任何编程语言在文件管理方面都需要谨慎处理。处理文件时必须小心,以避免损坏。记住在打开文件后关闭资源非常重要。此外,Python 对同时打开多少个文件有限制。对于这些问题,Python 为我们提供了上下文管理器来帮助解决。

如果 Python 使用 with 语句,则文件处理将是安全的。

  • 使用with语句安全地访问资源文件。
  • 当 Python 遇到with块时,会创建一个新的上下文。
  • 在块完成运行后,Python 会自动关闭文件资源。
  • 上下文的范围类似于with 语句。

示例

以下是使用 with 语句按行读取文本文件的示例 −

# opening the file
with open("TutorialsPoint.txt",'r') as text:

   # reading the file by using a for loop
   for line in text:

      # stripping the newline character from the line
      print(line.strip())

输出

这次,文件的行使用 for 循环读取。当我们使用上下文管理器时,文件会在其处理程序退出范围时自动关闭。with 语句确保当函数完成文件处理时,资源得到适当的处理。

以下是以上代码的输出

Welcome to Tutorials Point
This is a new file.
Reading a file line by line using Python
Thank You!

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程