📜  Python中的文件flush()方法

📅  最后修改于: 2022-05-13 01:54:47.174000             🧑  作者: Mango

Python中的文件flush()方法

Python允许用户使用文件处理的概念来管理文件。用户可以打开、读取、写入、操作文件,并且可以对文件执行许多其他文件处理操作。这些文件处理操作之一是Python中的文件 flush() 方法。

文件 flush() 方法 –

Python文件处理中的 flush() 方法清除文件的内部缓冲区。在Python中,文件在关闭时会自动刷新。但是,程序员可以使用 flush() 方法在关闭文件之前刷新文件。
句法:

fileObject.flush()

此方法不需要任何参数,也不返回任何内容。
示例 1:
现在让我们看看下面的例子,它说明了 flush() 方法的使用。在执行程序之前,会创建一个文本文件 gfg.txt,其内容如下。

Python
# opening the file in read mode
fileObject = open("gfg.txt", "r")
 
# clearing the input buffer
fileObject.flush()
 
# reading the content of the file
fileContent = fileObject.read()
 
# displaying the content of the file
print(fileContent)
 
# closing the file
fileObject.close()


Python
# program to demonstrate the use of flush()
 
# creating a file
fileObject = open("gfg.txt", "w+")
 
# writing into the file
fileObject.write("Geeks 4 geeks !")
 
# closing the file
fileObject.close()
 
 
 
# opening the file to read its content
fileObject = open("gfg.txt", "r")
 
# reading the contents before flush()
fileContent = fileObject.read()
 
# displaying the contents
print("\nBefore flush():\n", fileContent)
 
 
 
# clearing the input buffer
fileObject.flush()
 
# reading the contents after flush()
# reads nothing as the internal buffer is cleared
fileContent = fileObject.read()
 
# displaying the contents
print("\nAfter flush():\n", fileContent)
 
# closing the file
fileObject.close()


输出:

Geeks 4 geeks!

在上述程序中,gfg.txt 以读取模式打开,然后 flush() 方法只清除文件的内部缓冲区,不会影响文件的内容。因此,可以读取和显示文件的内容。
示例 2:
现在让我们看另一个示例,该示例演示了 flush() 方法的使用。

Python

# program to demonstrate the use of flush()
 
# creating a file
fileObject = open("gfg.txt", "w+")
 
# writing into the file
fileObject.write("Geeks 4 geeks !")
 
# closing the file
fileObject.close()
 
 
 
# opening the file to read its content
fileObject = open("gfg.txt", "r")
 
# reading the contents before flush()
fileContent = fileObject.read()
 
# displaying the contents
print("\nBefore flush():\n", fileContent)
 
 
 
# clearing the input buffer
fileObject.flush()
 
# reading the contents after flush()
# reads nothing as the internal buffer is cleared
fileContent = fileObject.read()
 
# displaying the contents
print("\nAfter flush():\n", fileContent)
 
# closing the file
fileObject.close()

输出:

Before flush():
Geeks 4 geeks!

After flush():

在这个程序中,我们最初创建 gfg.txt 文件并编写 Geeks 4 geeks!作为其中的内容,然后我们关闭文件。之后我们读取并显示文件的内容,然后调用 flush() 方法,清除文件的输入缓冲区,因此 fileObject 什么也不读取,而 fileContent 仍然是一个空变量。因此,在 flush() 方法之后没有显示任何内容。