Python笔记 文件的写,追加,备份操作

一、文件的写操作

案例演示:

# 1.打开文件
f = open('python.txt','w')# 2.文件写入
f.write('hello world')# 3.内容刷新
f.flush()

注意:

直接调用write,内容并为真正的写入文件,二十会积攒在程序的内存中,称之为缓冲区

当调用flush的时候,内容会真正写入文件

这样做是避免频繁的操作硬盘,导致效率下降(攒一堆,一次性写磁盘)

# 演示文件的写入
import time# 打开文件,不存在的文件  文件不存在w模式会帮我们创建文件 当文件存在会覆盖
f = open("D:/test.txt","w",encoding="UTF-8")# write写入
f.write("hello world!")    # 内容写入到内存中# flush刷新
f.flush()                   # 将内存中积攒的内容,写入到硬盘的文件中
time.sleep(600000)# close关闭
f.close()                   # close方法内置了flush功能
# 打开一个存在的文件

总结:

1.写入文件使用open函数的 “w”模式进行写入

2.写入的方法有:

    w 模式,文件不存在,会创建新文件

    w 模式,文件存在,会清空原有内容

    close()方法,带有flush()方法的功能

二、文件的追加操作
# 文件的追加操作# 打开文件,不存在的文件
f = open("D:/test.txt","a",encoding="UTF-8")# write写入
f.write("黑马程序员")# flush刷新
f.flush()# close关闭
f.close()# 打开一个存在的文件
f = open("D:/test,txt","a","encoding")# write写入,flush刷新
f.write("学Python最佳选择")# close关闭
f.close()

总结:

1.追加写入文件使用open函数的“a”模式进行写入

2.追加写入的方法有(和w模式一致):

write(),写入内容

flush(),刷新内容到硬盘zhpng

3.注意事项

a模式,文件不存在,会创建新文件

a模式,文件存在,会在原有内容后面继续写入

可以使用“\n”来写换行符

三、文件的备份

需求:有一份账单文件,记录了消费收入的具体记录,内容如下:

将内容复制并保存为bill.txt文件

1.读取文件

2.将文件写出到bill.txt.bak文件作为备份

3.同时,将文件内标记为测试的数据行丢失

实现思路:

open和r模式打开一个文件对象,并读取文件

open和w模式打开另一个文件对象,用于文件写出

for循环内容,判断是否是测试不是测试就write写出,是测试就continue跳过

将2个文件对象均close()

"""演示文件操作综合案例:文件备份
"""# 打开文件得到文件对象,准备读取
fr = open("D:/bill.txt","r",encoding="UTF-8")# 打开文件得到文件对象,准备写入
fw = open("D:/bill.txt.bak","w",encoding="UTF-8")# for循环读取文件
for line in fr:line = line.strip()# 判断内容,将满足的内容写出if line.split(".")[4] == "测试":continue  # continue进入下一次循环,这一次后面的内容就跳过了# 将内容写出去fw.write(line)# 由于前面对内容进行了strip()操作,所以要手动的写出换行符fw.write("\n")# close2个文件对象
fr.close()
fw.close()  # 写出文件调用close()会自动flush()

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

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

相关文章

百度智能云千帆推出大模型普惠计划,0成本切换

百度智能云千帆推出大模型普惠计划,0成本切换至国内调用量第一的大模型平台。场景更丰富、模型更全面、工具链更完整易用、更安全可靠! 即日起为新注册企业用户提供: 0元调用: 文心旗舰模型首次免费,赠送ERNIE3.5旗舰模…

PDF编辑软件pdf转word工具Acrobat DC百度云盘分享

如大家所了解的,Adobe Acrobat DC是一款高级PDF文档编辑和管理软件,它整合了创建、编辑、共享和签署PDF文件的强大功能。这款软件为用户提供了一系列高效的工具,使得处理PDF文件变得异常简单,大幅提升办公效率。 Acrobat DC软件核…

【Linux】性能分析器 perf 详解(一)

1、简介 perf 是由 Linux 官方提供的系统性能分析工具 。它包含两部分: perf_events ,Linux 内核中的一个子系统perf 命令,用户空间的应用程序内核子系统 perf_events 提供了性能计数器(hardware performance counters)和性能事件的支持,它以事件驱动型的方式工作,通过…

HTTP性能测试工具 —— wrk!

wrk性能测试工具详解 wrk是一款轻量级但功能强大的HTTP基准测试工具,主要用于在单机多核CPU环境下对HTTP服务进行性能测试。它通过利用系统自带的高性能I/O机制(如epoll、kqueue等),结合多线程和事件模式,能够产生大量…

JavaWeb——MySQL:DDL

目录 3.DQL:查询 3.5 分页查询 ​编辑 总结: 3. DQL:查询 查询是使用最多、最频繁的操作,因为前面的修改以及删除,一般会交给数据库专业的人员,对于非数据库专业人员来说,老板一般会放心的…

[DALL·E 2] Hierarchical Text-Conditional Image Generation with CLIP Latents

1、目的 CLIP DDPM进行text-to-image生成 2、数据 (x, y),x为图像,y为相应的captions;设定和为CLIP的image和text embeddings 3、方法 1)CLIP 学习图像和文本的embedding;在训练prior和decoder时固定该部分参数 2&a…

使用npm报npm ERR code EPERMnpm ERR syscall rename错误

使用npm install初始化时报错, 解决结果是:node版本不对,切换node版本

基于 Redis 实现秒杀资格判断,提升并发性能

在互联网电商平台上,秒杀活动往往会吸引大量用户同时抢购,如何高效地处理高并发请求,保证用户体验,是一个重要的技术挑战。本文将介绍如何基于 Redis 实现秒杀资格的判断,提高并发性能。 基本思路 秒杀活动的核心流程…

规则引擎-Aviator 表达式校验是否成立

目录 介绍特性使用更多文献支持 介绍 Aviator是一个轻量级、高性能的Java表达式执行引擎,它动态地将表达式编译成字节码并运行。 特性 支持绝大多数运算操作符,包括算术操作符、关系运算符、逻辑操作符、位运算符、正则匹配操作符(~)、三元表达式(?:…

申请专利前需要了解的步骤

申请专利前需要了解的步骤 在创新日益成为推动社会进步的重要动力的今天,专利的申请与保护显得尤为重要。然而,对于许多初次接触专利申请的人来说,这个过程可能会显得复杂而繁琐。 一、明确创新内容并评估其可专利性 在申请专利前&#xff…

vue3前后端开发:响应式对象不能直接成为前后端数据传输的对象

如图所示:前端控制台打印显示数据是没问题的,后端却显示没有接收到相应数据,但是后端的确接收到了一组空数据 直接说原因:这种情况唯一的原因是没有按正确格式传递参数。每个人写错的格式各有不同,我只是说明一下我在…

Python+Pytest+Allure+Yaml接口自动化测试框架详解

PythonPytestAllureYaml接口自动化测试框架详解 编撰人:CesareCheung 更新时间:2024.06.20 一、技术栈 PythonPytestAllureYaml 版本要求:Python3.7.0,Pytest7.4.4,Allure2.18.1,PyYaml6.0 二、环境配置 1、安装python3.7,并配置…

[Redis]事务

Redis事务 Redis 事务提供了一种将多个命令请求打包的功能。然后,再按顺序执行打包的所有命令,并且不会被中途打断。 但是,事务中的每条命令都会与 Redis 服务器进行网络交互,比较浪费资源 所以,日常开发中不建议使…

小区业主管理系统

摘 要 随着城市化进程的加速和人口的不断增加,小区的数量也在不断增加。小区作为城市居民居住的主要场所,其管理工作也变得越来越重要。传统的小区业主管理方式存在诸多问题,如信息传递不畅、业务处理效率低下等。因此,开发一个高…

搜维尔科技:「研讨会」惯性动捕技术在工效学领域应用研讨会

Movella将于7月2日(周二)下午2点举行主题为惯性动捕技术在工效学领域应用的研讨会。来自Movella的伙伴赋能经理Jeffrey Muller作为嘉宾出席,届时主讲人将为大家带来Xsens惯性动捕技术在工效学领域的应用分享。同时,研讨会还邀请多…

高频面试题基本总结回顾1(含笔试高频算法整理)

干货分享,感谢您的阅读! (暂存篇---后续会删除,完整版和持续更新见高频面试题基本总结回顾(含笔试高频算法整理)) 备注:引用请标注出处,同时存在的问题请在相关博客留言…

从零开始做题:修猫

修猫 1 题目 2 解题 2.1 使用Stegslove分析图片 (base) ┌──(holyeyes㉿kali2023)-[~/Misc/tool-misc] └─$ java -jar Stegsolve.jar 2.2 analyse -frame browser 2.3 得到flag DASCTF{818ca3a840e768da7d5fcdeaedd5012f}

基于Java微信小程序校园订餐系统设计和实现(源码+LW+调试文档+讲解等)

💗博主介绍:✌全网粉丝10W,CSDN作者、博客专家、全栈领域优质创作者,博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 🌟文末获取源码数据库🌟感兴趣的可以先收藏起来,还…

springcloud-gateway 路由加载流程

问题 Spring Cloud Gateway版本是2.2.9.RELEASE,原本项目中依赖服务自动发现来自动配置路由到微服务的,但是发现将spring.cloud.gateway.discovery.locator.enabledfalse 启动之后Gateway依然会将所有微服务自动注册到路由中,百思不得其解&a…

1.8 HTTP协议结构

我们来看一下HTTP协议到底由哪些部分组成,也就是HTTP协议的结构。知道了这些知识才能在接口测试中游刃有余。 我们看上图,HTTP协议由四部分组成 起始行 描述请求和响应的基本信息。 当是请求时:请求方法是GET,调用的地址&#…