【Python】文件操作 ④ ( 文件操作 | 向文件写出数据 | 使用 write 函数向文件中写出数据 | 使用 flush 函数刷新文件数据 )

2023-10-11 18:59:31 浏览数 (2)

一、向文件写出数据

1、使用 write 函数向文件中写出数据

Python 中 通过 调用 write 函数 向文件中写入数据 ;

语法如下 :

代码语言:javascript复制
write(string, file)

string 是要写入的数据 , file是要写入的文件对象 ;

用法示例 :

代码语言:javascript复制
with open('file.txt', 'w') as f:  
    f.write('Hello, World!')

open 函数用于打开文件 , 'w’参数表示以写入模式打开文件 ;

with语句用于确保文件在使用完毕后自动关闭 ;

write 函数将字符串写入文件 ;

注意 : 调用 write 方法并不是将数据写出到文件中 , 而是暂时缓存到文件的缓冲区中 ;

2、使用 flush 函数刷新文件数据

write 函数写入后不会立即将内容写出到文件中 , 而是暂时缓存在 文件的 缓冲区中 , 只有调用 flush 函数后 , 才会将缓冲区中的数据一次性写出到文件中 ;

flush 函数用于强制将缓冲区中的数据立即写入到文件或流中 ;

如果数据没有被写入到文件中 , 它可能会被留在缓冲区中 , 直到 文件关闭 或者 缓冲区被填满 ;

flush 函数通常在需要立即将数据写入文件或流中时使用 , 例如在处理网络连接或者与外部设备交互时 ;

用法示例 :

代码语言:javascript复制
with open('file.txt', 'w') as f:  
    f.write('Hello, world!')  
    f.flush()  # 将数据立即写入文件

上述代码在 write 函数的基础上 , 调用了 flush 函数 , 刷新了文件的缓冲区 ;

write 和 flush 机制是为了避免频繁操作硬盘 , 访问硬盘操作是很耗时的操作 , 建议一次性积攒足够的数据 , 然后一次性写出到硬盘中 , 这样可以提升程序的运行效率 ;

close 函数内置了 flush 功能 , 关闭文件时 , 会将文件缓存区中的数据一次性写出到文件中 ;

3、代码示例 - 使用 write / flush 函数向文件中写出数据

下面的代码中 , 打开一个不存在的文件 , 会创建一个新的文件 ;

使用 w 只写模式写入数据 , 如果文件已经存在 , 会将原来的内容清空 , 重新写入新内容 ;

代码示例 :

代码语言:javascript复制
"""
文件操作 代码示例
"""
import time

with open("file1.txt", "w", encoding="UTF-8") as file:
    print("使用 write / flush 函数向文件中写出数据: ")

    # 写出数据
    file.write("Hello World !")

    # 刷新数据
    file.flush()

    # 关闭文件
    file.close()

执行结果 :

0 人点赞