如何在Python中逐行读取文件?

Python提供了不同的方法来逐行读取文件。如果文件非常大并且不能完全存储在内存中,则逐行读取文件非常有用,这样可以提高读取操作的效率和速度。逐块读取文件是一种很好的方法,也可以通过逐行读取来表示。

null

打开要读取的文件

在逐行读取文件之前,我们将打开文件进行读取操作。一个文件可以用不同的方式打开,比如读,写,附加,读二进制数据,写二进制数据。在本例中,我们的目的是读取模式为的文件 r . 我们将使用 open() 函数中,我们还将提供r模式选项和要读取的文件名或路径。

#!/bin/pythontry:    fp = open('myfile.txt')    # We will read "myfile.txt" line by line    # here

在这里我们可以看到,我们将打开文件并设置文件处理程序 fp 接下来我们将逐行阅读。我们将使用 try 以便捕获异常和错误。

正确关闭打开的文件

打开一个文件会在系统上分配一些资源,我们应该在操作完成后释放这些资源。当逐行读取完成时,我们需要正确地关闭文件。我们可以用 close() 方法提供文件处理程序。我们还将在 finally 部分到 try 如果打开和读取文件时出现异常,我们将关闭此文件。

#!/bin/pythontry:    fp = open('myfile.txt')    # We will read "myfile.txt" line by line    # herefinally:    fp.close()

从文件中读取单行

Python提供了3种方法来读取文件。 read() 函数将读取整个文件并返回内容。这对小文件很有用,但在处理大文件时很容易出错。 readline() 函数是逐行读取文件最有用的函数。 readline() 函数将从文件中读取一行,并将光标跳转到下一个文件以进行下一个readline()函数调用。因此,对于每个readline()调用,位置的游标都由文件处理程序存储。在下面的示例中,我们将使用fp file handler从myfile.txt文件中读取一行,然后关闭该文件。

#!/bin/pythontry:    fp = open('myfile.txt')    # We will read "myfile.txt" line by line    line = fp.readline()    print(line)finally:    fp.close()

使用readline()方法逐行读取文件

在本例中,我们将使用readline()方法逐行读取名为myfile.txt的完整文件。我们将使用 while 循环并检查 if 条件关键字。我们将创建一个无限循环 while True: 我们每一步都要读一行。在底部,我们将检查文件是否结束并且没有可读取的行 if not line: 如果文件结束了,我们就用 break 关键字。

#!/bin/pythontry:    fp = open('myfile.txt')    # We will read "myfile.txt" line by line    while True:        # Read current line and put content to line        line = fp.readline()        #Print the line        print(line)        #If there is no line exit from loop        if not line:            breakfinally:    fp.close()

用For循环逐行读取文件

我们也可以使用 for 循环以逐行读取文件。我们将打开名为 myfile.txt 并用 for line in fp`文件处理程序。当没有行可读取时,for循环将结束。

#!/bin/pythontry:    fp = open('myfile.txt')    # We will read "myfile.txt" line by line    for line in fp:        #Print the line        print(line)finally:    fp.close()

使用While循环逐行读取文件

我们也可以使用 while 循环以便逐行读取。我们将使用 readline() 功能。我们将在每次迭代中从文件中读取一行并设置为variable line 检查是否已经到了文件的结尾。

#!/bin/pythontry:    fp = open('myfile.txt')    # We will read "myfile.txt" line by line    #Read the first line    line = fp.readline()    while line:        #Print the line        print(line)        #Read next line        line = fp.readline()finally:    fp.close()

将文件行转换为列表

在某些情况下,将给定的文件行转换为列表将非常有益。希望Python提供 readlines() 方法读取给定文件中的所有行,然后作为列表返回,其中每行都是给定列表中的一项。在本例中,我们将读取名为 myfile.txt 并返回一个名为 lines . 我们可以通过提供准确的索引号来打印列表中的特定行。

#!/bin/pythontry:    fp = open('myfile.txt')    # We will read "myfile.txt" line by line    #Read the first line    lines = fp.readlines()    print(lines[0])    print(lines[1])    print(lines[2])    print(lines[3])finally:    fp.close()

相关文章: 什么是EOF(文件结尾)?PHP、C++、C、Python、java的例子

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享