写入文件内容

自学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()方法,可以实现把字符串列表写入文件,但是不添加换行符。

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

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

相关文章

【电路笔记】-分贝

分贝 分贝是以 10 为底的对数比,用于表示电路中功率、电压或电流的增加或减少。 1、概述 一般来说,分贝是响度的度量。 在设计或使用放大器和滤波器电路时,计算中使用的一些数字可能非常大或非常小。 例如,如果我们将两个放大器级级联在一起,功率或电压增益分别为 20 和…

os和os.path模块

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 目录也称文件夹,用于分层保存文件。通过目录可以分门别类地存放文件。我们也可以通过目录快速找到想要的文件。在Python中,并…

033.搜索旋转排序数组

题意 整数数组 nums 按升序排列&#xff0c;数组中的值 互不相同 。 在传递给方法之前&#xff0c;nums 在预先未知的某个下标 k(0 < k < nums.length)上进行了旋转&#xff0c;使数组变为 [nums[k], nums[k1], ..., nums[n-1], nums[0], nums[1], ..., nums[k-1]]&…

古字画3d立体在线数字展览馆更高效便捷

在数字时代的浪潮中&#xff0c;大连图书馆以崭新的面貌跃然屏幕之上——3D全景图书馆。这座承载着城市文化精髓与丰富知识资源的数字图书馆&#xff0c;利用前沿的三维建模技术&#xff0c;为我们呈现了一个全新的知识世界。 随时随地&#xff0c;无论您身处何地&#xff0c;只…

获得抖音商品评论 API 返回值

公共参数 名称类型必须描述keyString是调用key&#xff08;获取key和密钥​​​​​​​&#xff09;secretString是调用密钥api_nameString是API接口名称&#xff08;包括在请求地址中&#xff09;[item_search,item_get,item_search_shop等]cacheString否[yes,no]默认yes&am…

信息学奥赛初赛天天练-22-C++基础关键字、进制转换、结构体与联合体的实用技巧大揭秘

PDF文档公众号回复关键字:20240607 单项选择题&#xff08;共15题&#xff0c;每题2分&#xff0c;共计30分&#xff1a;每题有且仅有一个正确选项&#xff09; 1 在C中&#xff0c;下面哪个关键字用于声明一个变量&#xff0c;其值不能被修改&#xff1f;&#xff08; &#…

二叉树讲解升级版

目录 二叉树的存储结构 二叉树结点的查找和修改 二叉树结点的插入 二叉树的创建 二叉树的遍历 先序遍历 中序遍历 后序遍历 层序遍历 重建二叉树 二叉树的静态实现 二叉树的存储结构 一般来说&#xff0c;二叉树使用链表来定义。和普通链表的区别是&#xff0c;由于…

【Java】解决Java报错:StackOverflowError

文章目录 引言1. 错误详解2. 常见的出错场景2.1 无限递归2.2 递归深度过大2.3 方法调用层次过深 3. 解决方案3.1 优化递归算法3.2 尾递归优化3.3 增加调用栈大小3.4 检查递归终止条件 4. 预防措施4.1 使用迭代替代递归4.2 尾递归优化4.3 合理设计递归算法4.4 调整JVM参数4.5 定…

b端系统类管理平台设计前端开发案例

b端系统类管理平台设计前端开发案例

二叉树-堆的详解

一&#xff0c;树的概念 1&#xff0c;树的概念 树是一种非线性的数据结构&#xff0c;它是由n&#xff08;n>0&#xff09;个有限结点组成一个具有层次关系的集合。 把它叫做树是因为它看起来像一棵倒挂的树&#xff0c;也就是说它是根朝上&#xff0c;而叶朝下的。 有…

vue3 + echarts 二次开发百分比饼图

效果图&#xff1a; 安装 pnpm i echarts 公共模块组件 <divclass"pie"ref"percent"style"width: 100%; height: calc(100% - 48px)"></div> import { ref, onMounted } from vue import * as echarts from echarts const prop…

【JavaScript脚本宇宙】解密前端工具:选择最佳JavaScript模块管理工具

精选前端工具汇总&#xff1a;打包器和捆绑器的完整指南 前言 在现代Web开发中&#xff0c;使用适当的工具和库可以极大地提高开发效率和项目质量。本文将介绍一些常用的Web应用程序捆绑器&#xff0c;这些工具能够帮助开发人员有效地管理JavaScript模块和资源。 欢迎订阅专栏…

SpringBoot项目启动提示端口号占用

Windows环境下&#xff0c;SpringBoot项目启动时报端口号占用&#xff1a; *************************** APPLICATION FAILED TO START ***************************Description:Web server failed to start. Port 8080 was already in use.Action:Identify and stop the proc…

【乐吾乐3D可视化组态编辑器】状态告警示例

状态告警的设置方法为两种&#xff1a; 1.通过数据点号设置&#xff08;推荐&#xff09;&#xff1a; 适用于绑定单一数据点号&#xff0c;设置逻辑简洁&#xff0c;实现简单逻辑交互 2.通过交互事件监听数据点号设置&#xff1a; 适用于绑定多个数据点号&#xff0c;实现复…

LLM大模型AI应用的三阶技术

第一阶 指令工程&#xff08;Prompt Enginner&#xff09; 设计提示&#xff08;Prompt Design&#xff09; 结果优化&#xff08;Response Optimization&#xff09; 交互设计&#xff08;Interaction Design&#xff09; 模型理解&#xff08;Model Understanding&#…

哈希经典题目(C++)

文章目录 前言一、两数之和1.题目解析2.算法原理3.代码编写 二、判定是否互为字符重排1.题目解析2.算法原理3.代码编写 三、 字⺟异位词分组1.题目解析2.算法原理3.代码编写 总结 前言 哈希表是一个存储数据的容器&#xff0c;我们如果想要快速查找某个元素&#xff0c;就可以…

Python驱动下的AI革命:技术赋能与案例解析

在当今这个信息化、数据化的时代&#xff0c;人工智能&#xff08;AI&#xff09;已经成为推动社会发展的重要力量。而Python&#xff0c;作为一种简单易学、功能强大的编程语言&#xff0c;在AI领域的应用中发挥着至关重要的作用。本文将探讨Python在AI领域的应用、其背后的技…

MMUNet:形态学特征增强网络在结肠癌病理图像分割中的应用

MMUNet: Morphological feature enhancement network for colon cancer segmentation in pathological images. 发表在&#xff1a;Biomedical Signal Processing and Control2024--影响因子&#xff1a;3.137 南华大学的论文 论文地址&#xff1a;main.pdf (sciencedirecta…

Wakeup Source框架设计与实现

Wakeup Source 为系统组件提供了投票机制&#xff0c;以便低功耗子系统判断当前是否可以进入休眠。 Wakeup Source(后简称&#xff1a;WS) 模块可与内核中的其他模块或者上层服务交互&#xff0c;并最终体现在对睡眠锁的控制上。 1. 模块功能说明 WS的处理逻辑基本上是围绕 com…

后端进阶-分库分表

文章目录 为什么需要分库为什么需要分表 什么时候需要分库分表只需要分库只需要分表 分库分表解决方案垂直分库水平分库垂直分表水平分表 分库分表常用算法范围算法hash分片查表分片 分库分表模式客户端模式代理模式 今天跟着训练营学习了分库分表&#xff0c;整理了学习笔记。…