当前位置: 首页 > ds >正文

第8章——8天Python从入门到精通【itheima】-88~90-Python的文件操作(文件的写出+文件的追加+综合案例)

目录

88节——文件的写出操作

1.写操作的快速入门

2.打开写入一个不存在的文件

3.打开写入一个存在的文件

4.小节总结

89节——文件的追加操作

1.追加写入操作快速入门

2.打开一个不存在的文件,会自动创建

3.打开一个存在的文件

4.小节总结

90节——文件操作的综合案例练习:

1.学习目标

2.案例需求分析

3.代码实现

好了,又一篇博客和代码写完了,励志一下吧,下一小节等等继续:


88节——文件的写出操作

1.写操作的快速入门

对于写来说:write是写到内存的缓冲区中;并未直接写到文件中;而flush的刷新,才会真正的写到文件中去(攒一堆,一次性写到磁盘中)。避免频繁操作硬盘导致效率下降。

2.打开写入一个不存在的文件

# 88节——文件的写入"""
演示文件的写入
"""# 打开文件,不存在的文件  r  w  a    若文件不存在,自动创建
# 但是write方法执行了,下一行出现了sleep方法,打开D盘的test.txt里面没有内容:是因为前面所说的先将内容写到了内存的缓冲区中,没有调用flush方法,就不会写到文件中。
f=open("D:/test.txt","w",encoding="utf-8")# write写入
f.write("Hello World!!!")
# time.sleep(600000)# flush刷新
# f.flush()  #将内存中积攒的内容,写入到硬盘积攒的文件中
# time.sleep(600000)
# 先open文件,然后write写入到内存的缓冲区,然后再flush刷新到文件中去,最后调用sleep方法。虽然程序正在执行没有中断,但是打开磁盘中的word.txt文件,内容成功被写入了。# close关闭
f.close()    #close方法,内置了flush的功能的。其实不用手动调用flush了,只要有close存在就好了。

3.打开写入一个存在的文件

# 打开一个存在的文件  :并且这个文件中原来有的内容:Hello World!!!
f=open("D:/test.txt","w",encoding="utf-8")# write写入,flush刷新
f.write("黑马程序员")  #原来的内容被覆盖了。w模式会把文件中原有的内容都清空,然后重新把内容写进去# close关闭
f.close()

4.小节总结


89节——文件的追加操作

1.追加写入操作快速入门

2.打开一个不存在的文件,会自动创建

# 89节——文件的追加写入"""
演示文件的追加写入
"""# 打开文件,不存在的问价
f=open("D:/test.txt","a",encoding="utf-8")#write写入
f.write("黑马程序员123!!!")# flush刷新
f.flush()# close关闭
f.close()
# D:/test.txt中的内容,会出现:黑马程序员123!!!。写入成功。

3.打开一个存在的文件

# 打开一个存在的文件
f=open("D:/test.txt","a",encoding="utf-8")# write写入,flush刷新
f.write("学Python是最佳的选择!motherfucker!!!!!!")#a模式是追加,原有内容不变,将新的内容追加在原来的内容之后
# D:/test.txt中的内容,会出现:黑马程序员123!!!学Python是最佳的选择!motherfucker!!!!!!。追加成功。f.write("\n年薪百万***!!!")
# D:/test.txt中的内容,会出现:
# 黑马程序员123!!!学Python是最佳的选择!motherfucker!!!!!!学Python是最佳的选择!motherfucker!!!!!!
# 年薪百万***!!!

4.小节总结


90节——文件操作的综合案例练习:

1.学习目标

1.完成文件备份的案例

2.案例需求分析

3.代码实现

# 90节:案例——文件的综合操作# 打开得到文件对象,准备读取
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  #跳过本次循环,进行下一次循环
#     将内容写出去fw.write(line)fw.write("\n")
#     由于前面的换行符被strip,所以上面的要手动写出# close文件对象
fr.close()
fw.close()  #close自带flush方法


好了,又一篇博客和代码写完了,励志一下吧,下一小节等等继续:

致Patrick君:
 

展信如晤。
 

深夜执笔,读君所记,字里行间皆见血性与坚韧。君以病躯搏击命运,晨跑于曦光,苦学于深夜,更以钢铁之志抗疾,此等心志,纵我当年白手起家、逆流而上时亦感共鸣。人生如攀险峰,君此刻正于最陡峭处挥汗,脚下碎石滚落,而脊梁未弯——此乃真豪杰之姿。
 

然治国之道,讲究张弛有度。昔我执掌青瓦台,若昼夜不息强推新政,则内阁崩摧;若苛求事事完美,则民心涣散。君今以肉身作舟,同时载学习、锻炼、病痛三座巨山,舟楫已吱呀作响,背部疼痛与颤抖便是警钟。刚极易折,弦紧易断,此非退缩,乃战略迂回。
 

有三策赠君:
其一,以治国之智调己身。将一日划分为"朝会""午政""夕省",学习、锻炼、休憩各安其时。譬如Python代码需留调试间隙,身体亦需空白以蓄力。
其二,借科技之力减负。健身不必日日三公里,水中运动或护脊瑜伽或为良替。昔我处理国事,亦善用幕僚团队分忧——君何妨视工具为"数字幕僚"?
其三,存火种以待燎原。君今所历,实为淬炼精神内核。然真正的王者,非以遍体鳞伤为勋章,而以最小代价换最大战果。若减夜间锻炼为晨间轻量活动,留半小时沐月听风,反能助药力生效。
 

闻君服药,此更需平稳作息相佐。我曾见太多英才倒于"坚持"二字枷锁下。记住:暂停是为精准发力,退步是为更高跃起——此非妥协,乃更高级别的进攻。
 

另备釜山渔民所赠良言:"狂风中的渔船,从不直冲浪头,而以巧劲破浪。" 君之意志已是利刃,只需学会收刀入鞘的智慧。他日若访首尔,我当以参鸡汤相候,共话破浪之道。
 

友 明博 手书
乙巳年夏夜于首尔

(信末附一行小字:)
"고생 끝에 낙이 온다"
(苦尽甘来——此谚赠君,望暂搁笔时,心中仍有明月)

http://www.xdnf.cn/news/14275.html

相关文章:

  • 强化学习 PPO
  • GRUB2 启动配置的工作原理与优先级规则详解
  • 软件测试银行项目之“信用卡测试流程”
  • LlamaIndex 工作流 并发执行
  • Day13_C语言基础项目实战
  • Java性能问题排查
  • 暴雨亮相EAC2025分享热管理液冷技术
  • Android 中 linux 命令查询设备信息
  • PyTorch框架-自动微分模块
  • 小知识点三、无刷电机闭环控制
  • 大模型_Ubuntu24.04安装RagFlow_使用hyper-v虚拟机_超级详细--人工智能工作笔记0251
  • 【C++】C++17之std::optional
  • 41.第二阶段x64游戏实战-封包-分析周围对象ID
  • qt信号与槽--01
  • 【论文解读】Agentic AI 遇见工业自动化:从“指令”到“意图”的嬗变
  • Tabulate - C++表格格式化库介绍与使用
  • MongoDB详细安装步骤(Windows 系统)
  • SHELL 编程正则表达式
  • js 查看字符串字节数
  • 快速幂算法详解:从暴力到优雅的数学优化
  • Python脚本开发入门:从基础到进阶技巧
  • SpringBoot ​@ControllerAdvice 处理异常
  • 鸿蒙app 开发中 如何 看 app 页面的ui结构
  • JS 数组转Object和Map
  • PHP基础-运算符
  • 【62 Pandas+Pyecharts | 智联招聘大数据岗位数据分析可视化】
  • 如何VMware虚拟机扩容磁盘,有很详细图文
  • Blazor Web Assembly - 使用Power Automate Desktop来跟踪一下Blazor页面的内存使用情况
  • 动态规划:求最长回文子串
  • OpenMMlab导出MaskFormer/Mask2Former实例分割模型并用onnxruntime和tensorrt推理