Python 文件结尾

Lakshay Kapoor 2023年1月30日 2021年7月11日
  1. 在 Python 中使用 file.read() 查找文件尾
  2. 在 Python 中使用带有 while 循环的 readline() 方法查找文件结尾
  3. 在 Python 中使用 Walrus 运算符查找文件尾
Python 文件结尾

EOF 代表 End Of File。这是程序中用户无法再读取数据的地方。这意味着程序读取整个文件直到结束。此外,当到达 EOF 或文件末尾时,将返回空字符串作为输出。因此,用户需要知道文件是否处于其 EOF。

本教程介绍了在 Python 中找出文件是否处于其 EOF 的不同方法。

在 Python 中使用 file.read() 查找文件尾

file.read() 方法是一个内置的 Python 函数,用于读取给定文件的内容。如果 file.read() 方法返回一个空字符串作为输出,这意味着文件已达到其 EOF。

例子:

with open("randomfile.txt", "r") as f:
    while True:
        file_eof = file_open.read()
        if file_eof == '':
            print('End Of File')
            break

请注意,当我们在程序开始时调用 open() 函数打开文件时,我们使用 "r" 作为仅读取文件的模式。最后,我们使用 if 条件语句来检查最后返回的输出是否为空字符串。

在 Python 中使用带有 while 循环的 readline() 方法查找文件结尾

file.readline() 方法是另一个内置的 Python 函数,用于读取一个完整的文本文件行。

Python 中的 while 循环是一个循环,它迭代代码块中的给定条件,直到给定条件为真。当迭代次数未知时使用此循环。

while 循环与 readline() 方法一起使用有助于重复读取给定文本文件中的行。

例子:

file_path = 'randomfile.txt'

file_text = open(file_path, "r")

a = True

while a:
    file_line = file_text.readline()
    if not file_line:
        print("End Of File")
        a = False

file_text.close()

当文本文件中没有可供 readline() 方法读取的文本时,while 循环将停止迭代。

在 Python 中使用 Walrus 运算符查找文件尾

Walrus 运算符是 Python 3.8 中的一个新运算符。它由 := 表示。这个运算符基本上是一个赋值运算符,用于分配 True 值,然后立即打印它们。

例子:

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

while (f := file.read()):
    process(f)

file.close()

此处,True 值是 read() 函数将从文本文件中读取的字符。这意味着一旦文件完成,Walrus 运算符将停止打印。

Lakshay Kapoor avatar Lakshay Kapoor avatar

Lakshay Kapoor is a final year B.Tech Computer Science student at Amity University Noida. He is familiar with programming languages and their real-world applications (Python/R/C++). Deeply interested in the area of Data Sciences and Machine Learning.

LinkedIn

相关文章 - Python File