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

news2024/11/15 5:59:58

文章目录

  • 一、向文件写出数据
    • 1、使用 write 函数向文件中写出数据
    • 2、使用 flush 函数刷新文件数据
    • 3、代码示例 - 使用 write / flush 函数向文件中写出数据





一、向文件写出数据




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


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


语法如下 :

write(string, file)

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


用法示例 :

with open('file.txt', 'w') as f:  
    f.write('Hello, World!')

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

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

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


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


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


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

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

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

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

用法示例 :

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

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


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

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


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


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

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


代码示例 :

"""
文件操作 代码示例
"""
import time

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

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

    # 刷新数据
    file.flush()

    # 关闭文件
    file.close()

执行结果 :

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/671569.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Fiddler抓包工具之fiddler的常用快捷键

一、常用三个快捷键 ctrlX :清空所有记录 CtrlF:查找 F12:启动或者停止抓包 使用 QuickExec Fiddler2 成了网页调试必备的工具,抓包看数据。Fiddler2自带命令行控制。 fiddler 命令行快捷键:ctrl q ,然后 输入 help…

记一次杀猪盘网站渗透

1、首先访问杀猪盘主站。 2、通过扫描子域名找到后台管理系统。 3、对其后台的登录接口进行测试,发现接口的用户名参数存在sql注入,直接跑数据。 4、注入得到后台的账密如下,用户名和safecode是明文的,password使用自定义加密。 跑出来了账号…

PaaS2.0、Matter、AIGC、新能源…TUYA开发者大会亮点抢先看

6月29日,TUYA开发者大会(深圳)即将开幕。作为业内备受关注的盛会,大会的各种“路透”消息络绎不绝。那么TUYA开发者大会将呈现哪些精彩,我们带大家一探究竟。 亮点1:IoT行业风向标 积蓄2年的硬核分享 TUYA…

【Ribbon实现客户端负载均衡和故障转移】—— 每天一点小知识

💧 R i b b o n 实现客户端负载均衡和故障转移 \color{#FF1493}{Ribbon实现客户端负载均衡和故障转移} Ribbon实现客户端负载均衡和故障转移💧 🌷 仰望天空,妳我亦是行人.✨ 🦄 个人主页——微风撞见云的博客…

掌握会议任务追踪技巧,提高会议效率!

跟踪会议任务是有效项目管理的重要组成部分。会议可以产生许多需要完成的行动项目和任务,如果没有适当的跟踪,这些任务很容易被遗漏。在本文中,我们将概述如何有效地跟踪会议任务。 1、在会议中分配任务 在会议期间,将任务分配给特…

眼球交互vs眼疲劳,前Vision Pro设计师揭秘这些细节

Vision Pro的发布带来了众多讨论,从交互层面来看,它真正的将AR/VR的首选交互从手柄转移到手势眼球上面来,此前的AR、VR大部分还是通过手柄来完成交互(HoloLens除外),手势交互是它们的第二选择。 交互方式主…

leetcode847. 访问所有节点的最短路径

847. 访问所有节点的最短路径 状态压缩 这是一个等权无向图&#xff0c;题目要我们求从「一个点都没访问过」到「所有点都被访问」的最短路径。 同时1 < n < 12, n 最大只有 12&#xff0c;容易想到使用「状态压缩」来代表「当前点的访问状态」&#xff1a;使用二进制表…

Windows下部署Appium教程(Android App自动化测试框架搭建)

摘要: 1&#xff0c;appium是开源的移动端自动化测试框架&#xff1b; 2&#xff0c;appium可以测试原生的、混合的、以及移动端的web项目&#xff1b; 3&#xff0c;appium可以测试ios、android、firefox os&#xff1b; 4&#xff0c;appium是跨平台的&#xff0c;可以用在os…

【系统开发】尚硅谷 - 谷粒商城项目笔记(七):消息队列

文章目录 消息队列概述两大种类RabbitMQ安装及基操Docker中安装添加用户创建Virtual Hosts设置权限添加交换机创建队列交换机绑定队列 五种消息模型SpringBoot整合MQ引入依赖properties配置开启RabbitMQ API使用创建交换机创建队列交换机绑定队列发送消息接收消息 消息确认机制…

Notification API实战

什么是Notification&#xff1f; Notifications API 的接口 Notification 用于配置以向用户显示桌面通知。 这些通知的外观和功能因平台而异&#xff0c;但通常它们会提供一种异步向用户提供信息的方式。 前置要求 win10系统&#xff0c;且通知与操作中开启浏览器的通知权限 浏…

学习 SSL/TLS ,这一篇就够了

写在前面 如果某个网站受 SSL 证书保护&#xff0c;其相应的 URL 中会显示 HTTPS&#xff08;超文本传输安全协议&#xff09;。单击浏览器地址栏的小绿锁&#xff0c;即可查看证书中的详细信息。那么一本证书是如何诞生的&#xff1f;HTTPS 背后的 SSL/TLS 是如何在工作过程中…

❤ vue3 组件传值

❤ vue3 组件传值 [1] 子组件向父组件传值 使用emit使用方法 【子组件】 1、定义 emits,emits的定义是与component、setup等这些属性是同级 emits此时是作为数组&#xff0c;它也可以接收一个对象 2、使用 setup(props, { emit, refs }) {emit(addImg, 参数); }有时候需使…

Ubuntu20.04的cuda、cudnn、paddle安装完整过程

1、查看显卡驱动版本 显卡驱动安装看这篇&#xff1a; https://blog.csdn.net/Trisyp/article/details/131302061?spm1001.2014.3001.5501 然后输入命令nvidia-smi 查看显卡状态 2、CUDA 下载安装 直接手动在官网下载&#xff1a;CUDA Toolkit Archive | NVIDIA Developer…

【计算机视觉 | 目标检测】arxiv 计算机视觉关于目标检测的学术速递(6月 21 日论文合集)

文章目录 一、检测相关(14篇)1.1 CrossKD: Cross-Head Knowledge Distillation for Dense Object Detection1.2 Depth and DOF Cues Make A Better Defocus Blur Detector1.3 Spatiotemporal Pyramidal CNN with Depth-Wise Separable Convolution for Eye Blinking Detection …

使用Kettle做数据迁移

1.Kettle简介 Kettle是一个颇受认可的开源ETL(Extract-Transform-Load 的缩写&#xff0c;即数据抽取、转换、装载的过程)工具&#xff0c;2006年被Pentaho收购&#xff0c;2015年又被Hitachi Vantara收购&#xff0c;正式命名为PDI。 PDI EE&#xff08;企业商用版&#xff0…

ASP.NET Core MVC 从入门到精通之Filter

随着技术的发展&#xff0c;ASP.NET Core MVC也推出了好长时间&#xff0c;经过不断的版本更新迭代&#xff0c;已经越来越完善&#xff0c;本系列文章主要讲解ASP.NET Core MVC开发B/S系统过程中所涉及到的相关内容&#xff0c;适用于初学者&#xff0c;在校毕业生&#xff0c…

【数据分享】1929-2022年全球站点的逐月降雪深度数据(Shp\Excel\12000个站点)

气象数据是在各项研究中都经常使用的数据&#xff0c;气象指标包括气温、风速、降水、能见度等指标&#xff0c;说到气象数据&#xff0c;最详细的气象数据是具体到气象监测站点的数据&#xff01; 对于具体到监测站点的气象数据&#xff0c;之前我们分享过1929-2022年全球气象…

JavaScript排序sort()方法(解决null、undefined、0之间的排序(混乱)问题)

问题&#xff1a; 如果数组内某一对象为空值&#xff0c;排序是怎样的呢&#xff1f;(显然并不是按年龄顺序排序的&#xff0c;因为存在null和undefined) var arr[{"age":24,name:zs},{"age":0,name:ls},{"age":0,name:gr}&#xff0c;{"…

数据结构算法 -分而治之算法

引言 坤坤是一个养鸡场的员工&#xff0c;他非常热爱他的工作&#xff0c;并且总是努力提高他的专业技能。有一天&#xff0c;养鸡场接到了一项任务&#xff1a;在短时间内处理一批大量的鸡。 这批鸡数量非常大&#xff0c;比普通的数量要多得多&#xff0c;坤坤意识到他们需…

作业(Job)——OS

目录 1、批处理作业 2、交互式作业 小结&#xff1a;作业、进程、线程 作业概念 &#xff1a;用户要求计算机系统为其完成的计算任务集合。 作业步&#xff08;job step) &#xff1a;作业处理过程中一个相对独立的步骤 一般一个作业步可由一个进程完成某些作业步之间可以并…