Python 文件 flush() 方法



Python 文件flush() 方法会刷新内部缓冲区。此内部缓冲区用于加快文件操作速度。

例如,每当对文件执行写入操作时,内容首先写入内部缓冲区;当缓冲区满时,再将缓冲区中的内容传输到目标文件。这样做是为了避免每次写入操作都频繁调用系统调用。文件关闭后,Python 会自动刷新缓冲区。但是,您可能仍然希望在关闭任何文件之前刷新数据。

此方法的工作方式类似于 stdio 的 fflush,并且在某些类文件对象上可能什么也不做。

语法

以下是 Python 文件flush() 方法的语法:

fileObject.flush(); 

参数

此方法不接受任何参数。

返回值

此方法不返回值。

示例

以下示例演示了一个使用 Python 文件 flush() 方法的简单程序。

# Open a file
fo = open("foo.txt", "wb")
print("Name of the file: ", fo.name)

# Here it does nothing, but you can call it with read operation.
fo.flush()

# Close opened file
fo.close()

运行上述程序时,会产生以下结果:

Name of the file:  foo.txt

示例

使用 flush() 方法时,它不会刷新原始文件,而只是刷新内部缓冲区内容。

在下面的示例中,我们以读取模式打开一个文件并读取文件内容。然后,使用 flush() 方法刷新内部缓冲区。打印文件中的内容以检查该方法是否修改了原始文件。

# Open a file
fo = open("hello.txt", "r")
print("Name of the file: ", fo.name)

file_contents = fo.read()

fo.flush()

print("Contents of the file: ", file_contents)

# Close opened file
fo.close()

运行上述程序后,得到的结果如下:

Name of the file:  hello.txt
Contents of the file:  hello

示例

即使不调用该方法,Python 也会在文件关闭后刷新内部缓冲区内容。

# Open a file
fo = open("test.txt", "w")

#Perform an operation on the file
print("Name of the file: ", fo.name)

# Close opened file
fo.close()

如果我们编译并运行上述程序,则输出将显示如下:

Name of the file:  test.txt
python_file_methods.htm
广告