写入文件内容

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm=1001.2014.3001.5501

在实例01中,虽然创建并打开一个文件,但是该文件中并没有任何内容,它的大小是0KB。Python的文件对象提供了write()方法,可以向文件中写入内容。write()方法的语法格式如下:

file.write(string)

其中,file为打开的文件对象;string为要写入的字符串。

注意:在调用write()方法向文件中写入内容的前提是在打开文件时,指定的打开模式为w(可写)或者a(追加),否则,将抛出如图7所示的异常。

图7  没有写入权限时抛出的异常

场景模拟:在蚂蚁庄园的动态栏目中记录着庄园里的新鲜事。在给小鸡喂食后,使用了一张加速卡,此时,需要向庄园的动态栏目中写入一条动态。

图标 (35)

  实例02  向蚂蚁庄园的动态文件写入一条信息

在IDLE中创建一个名称为antmanor_message_w.py的文件,然后在该文件中,首先应用open()函数以写方式打开一个文件,然后再调用write()方法向该文件中写入一条动态信息,再调用close()方法关闭文件,代码如下:

print("\n","="*10,"蚂蚁庄园动态","="*10)

file = open('message.txt','w')         # 创建或打开保存蚂蚁庄园动态信息的文件

# 写入一条动态信息

file.write("你使用了1张加速卡,小鸡撸起袖子开始双手吃饲料,进食速度大大加快。\n")

print("\n 写入了一条动态……\n")

file.close()                      # 关闭文件对象

执行上面的代码,将显示如图8所示的结果,同时在antmaner_message_w.py文件所在的目录下创建一个名称为message.txt的文件,并且在该文件中写入了文字“你使用了1张加速卡,小鸡撸起袖子开始双手吃饲料,进食速度大大加快”,如图9所示。

图8  创建并打开记录蚂蚁庄园动态的文件

图9  打开记录蚂蚁庄园动态的文件

注意:在写入文件后,一定要调用close()方法关闭文件,否则写入的内容不会保存到文件中。这是因为当我们在写入文件内容时,操作系统不会立刻把数据写入磁盘,而是先缓存起来,只有调用close()方法时,操作系统才会保证把没有写入的数据全部写入磁盘。

多学两招:在向文件中写入内容后,如果不想马上关闭文件,也可以调用文件对象提供的flush()方法,把缓冲区的内容写入文件,这样也能保证数据全部写入磁盘。

向文件中写入内容时,如果打开文件采用w(写入)模式,则先清空原文件中的内容,再写入新的内容;而如果打开文件采用a(追加)模式,则不覆盖原有文件的内容,只是在文件的结尾处增加新的内容。下面将对实例02的代码进行修改,实现在原动态信息的基础上再添加一条动态信息。修改后的代码如下:

print("\n","="*10,"蚂蚁庄园动态","="*10)

file = open('message.txt','a')    # 创建或打开保存蚂蚁庄园动态信息的文件

# 追加一条动态信息

file.write("mingri的小鸡在你的庄园待了22分钟,吃了6g饲料之后,被你赶走了。\n")

print("\n 追加了一条动态……\n")

file.close()                    # 关闭文件对象

执行上面的代码后,打开message.txt文件,将显示如图10所示的结果。

图10  追加内容后的message.txt文件

多学两招:在Python的文件对象中除了提供了write()方法,还提供了writelines()方法,可以实现把字符串列表写入文件,但是不添加换行符。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

在keil5中打开keil4工程的方法

文章目录 1. 打开文件 2. 安装旧版本包 3. 在keil4中打开keil5工程 1. 打开文件 在keil5 MDK的环境下,打开keil4的工程文件,会弹出下图所示的窗口: 参考官网的解释这两个方法分别为: 1. 使用MDK 版本 4 Legacy Pack时&#x…

c++调用动态库LNK2019无法解析的外部符号LNK1120无法解析的外部命令

严重性 代码 说明 项目 文件 行 禁止显示状态 错误 LNK1120 6 个无法解析的外部命令 ConsoleApplication1 D:\vs_qt_project\ConsoleApplication1\x64\Debug\ConsoleApplication1.exe 1 严重性 代码 说明 项目 文件 行 …

经纬恒润助力红旗转向技术新突破

近日,红旗研发新视界发布《国内首发!红旗大输出力冗余平行轴式电动助力转向器让用户出行经济又安全!》 ,创新突破“输出力20kN以上的冗余平行轴式电动助力转向器(R-EPS)”。该产品支持整车实现L2/L3级自动驾…

优化财务管理制度提升企业经营效益—以审计代理记账为例

随着社会经济的快速发展,企业经营规模不断扩大,面临的财务管理问题也日益复杂,而作为其中的重要一环,审计代理记账已经成为了企业的必要组成部分,本文将重点探讨审计代理记账对于优化企业财务管理,提高经营…

题解web

1.[LitCTF 2023]Follow me and hack me 1)进入题目环境,提示get传参,post传参 2)看看源码,也没啥 3)直接用hackbar,传入对应参数即可得到FLAG 3)但是扫描出来它后端还有东西&#x…

Llama模型家族之拒绝抽样(Rejection Sampling)(二)均匀分布简介

LlaMA 3 系列博客 基于 LlaMA 3 LangGraph 在windows本地部署大模型 (一) 基于 LlaMA 3 LangGraph 在windows本地部署大模型 (二) 基于 LlaMA 3 LangGraph 在windows本地部署大模型 (三) 基于 LlaMA…

L45---506.相对名次(java)--排序

1.题目描述 2.知识点 (1)String.join(" ", words) 是 Java 中的一个语法,用于将数组或集合中的元素连接成一个单独的字符串,连接时使用指定的分隔符。这里的 " " 是作为分隔符使用的一个空格字符串。 Strin…

Docker|了解容器镜像层(1)

引言 容器非常神奇。它们允许简单的进程表现得像虚拟机。在这种优雅的底层是一组模式和实践,最终使一切运作起来。在设计的根本是层。层是存储和分发容器化文件系统内容的基本方式。这种设计既出人意料地简单,同时又非常强大。在今天的帖子[1]中&#xf…

一句话说清HDMI ARC eARC功能和区别

HDMI: 高清多媒体接口,主要用于传输高清音视频信号,High Definition Multimedia Interface。 ARC: 音频回传通道,Audio Return Channel eARC: 增强型音频回传通道,第一个E是增强的意思,Enhanced Audio…

国产主流软硬件厂商生态分析

国产领域主流厂商汇总 信创,即信息技术应用创新,由“信息技术应用创新工作委员会”于2016年3月4日发起,是专注于软硬件关键技术研发、应用与服务的非营利性组织。作为科技自强的关键力量,信创在我国信息化建设中占据核心地位&…

PS初级|写在纸上的字怎么抠成透明背景?

前言 上一次咱们讲了很多很多很多的抠图教程,这次继续。。。最近有小伙伴问我:如果是写在纸上的字,要怎么把它抠成透明背景。 这个其实很简单,直接来说就是选择通道来抠。但有一点要注意的是,写在纸上的字&#xff0…

深度学习每周学习总结P10(车牌识别)

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 | 接辅导、项目定制 数据链接 提取码:ppv1 –来自百度网盘超级会员V5的分享 目录 0. 总结1. 数据导入、查看数据分类,自定义transform…

数据分析必备:一步步教你如何用Pandas做数据分析(19)

1、Pandas 日期函数 Pandas 日期函数操作实例 扩展时间序列,日期功能在财务数据分析中起着重要作用。使用日期数据时,我们经常会遇到以下情况- 生成日期序列 将日期序列转换为不同的频率 2、创建日期范围 通过指定日期和频率使用date.range()函数&…

实验二、网络属性设置《计算机网络》

精神状态 be like:边写边崩溃,越写越得劲儿。 目录 一、实验目的: 二、实验内容 三、实验步骤: 四、实验小结 一、实验目的: 掌握 IP 地址、子网掩码等网络属性的设置。 二、实验内容 预备知识: 1、…

ic基础|复位篇02:芯片中的“人生重来枪”!crg之复位系统

大家好,我是数字小熊饼干,一个练习时长两年半的ic打工人。我在两年前通过自学跨行社招加入了IC行业。现在我打算将这两年的工作经验和当初面试时最常问的一些问题进行总结,并通过汇总成文章的形式进行输出,相信无论你是在职的还是…

一篇文章带你搞懂C++引用(建议收藏)

引用 6.1 引用概念 引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空间,它和它引用的变量共用同一块内存空间。 比如:李逵,在家称为"铁牛",江湖上人称&quo…

查询SQL02:寻找用户推荐人

问题描述 找出那些 没有被 id 2 的客户 推荐 的客户的姓名。 以 任意顺序 返回结果表。 结果格式如下所示。 题目分析: 这题主要是要看这null值会不会用,如果说Java玩多了,你去写SQL时就会有问题。在SQL中判断是不是null值用的是is null或…

一文读懂AI时代GPU的内存新宠-HBM

一文读懂GPU最强辅助:HBM HBM,即高带宽内存,是一项领先的3D堆叠DRAM技术,专为高性能计算和图形处理单元(GPU)设计,满足其对内存带宽和容量的极致需求。该技术由AMD与海力士携手研发,…

聊聊二叉堆、红黑树、时间轮在定时任务中的应用

定时任务作为常用的一种调度方式,在各大系统得到了广泛的应用。 笔者也曾写过两篇关于定时任务框架介绍的文章: 《介绍一下,spring cloud下的另一种定时任务解决方案》《四叉堆在GO中的应用-定时任务timer》 之前都是以如何使用为主,这次从…

【UML用户指南】-10-对高级结构建模-高级类

目录 1、类目 2、高级类 3、可见性 4、实例范围和静态范围 5、抽象元素、叶子元素和多态性元素 6、多重性 7、属性 8、操作 9、模板类 10、标准元素 1、类目 类目 (classifier)是描述结构特征和行为特征的机制。类目包括类、关联、接口、数据类…