文件的数据是存放于硬盘上的,因而只存在覆盖、不存在修改这么一说,我们平时看到的修改文件,都是模拟出来的效果,具体的说有两种实现方式。

一、方式一

将硬盘存放的该文件的内容全部加载到内存,在内存中是可以修改的,修改完毕后,再由内存覆盖到硬盘(word,vim,nodpad++等编辑器)。

import oswith open('37r.txt') as fr, \open('37r_swap.txt', 'w') as fw:data = fr.read()  # 全部读入内存,如果文件很大,会很卡data = data.replace('tank', 'tankSB')  # 在内存中完成修改fw.write(data)  # 新文件一次性写入原文件内容# 删除原文件
os.remove('37r.txt')
# 重命名新文件名为原文件名
os.rename('37r_swap.txt', '37r.txt')
print('done...')

二、方式二

将硬盘存放的该文件的内容一行一行地读入内存,修改完毕就写入新文件,最后用新文件覆盖源文件。

'''
学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:725638078
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
import oswith open('37r.txt') as fr,\open('37r_swap.txt', 'w') as fw:# 循环读取文件内容,逐行修改for line in fr:line = line.replace('jason', 'jasonSB')# 新文件写入原文件修改后内容fw.write(line)os.remove('37r.txt')
os.rename('37r_swap.txt', '37r.txt')
print('done...')

结尾给大家推荐一个非常好的学习教程,希望对你学习Python有帮助!

Python基础入门教程推荐:更多Python视频教程-关注B站:Python学习者

Python爬虫案例教程推荐:更多Python视频教程-关注B站:Python学习者

Python中两种文件修改的方式相关推荐

  1. 二阶段补充:文件上传服务端处理,后端文件上传、前端两种文件上传方式

    1.文件上传 2.后端文件上传 两种方案: 兼容性较好的commons-fileupload,支持所有版本的Servlet,即所有版本的Tomcat 优点: 兼容性 缺点 需要外部jar,比较麻烦.代 ...

  2. python列表去重函数_对python中两种列表元素去重函数性能的比较方法

    测试函数: 第一种:list的set函数 第二种:{}.fromkeys().keys() 测试代码: #!/usr/bin/python #-*- coding:utf-8 -*- import t ...

  3. Python中三种表示NA的方式

    Python中三种表示NA的方式 # -*- coding: utf-8 -*- import numpy as np import pandas as pd# data_frame = np.loa ...

  4. 基于python的selenium两种文件上传方式

    方法一.input标签上传     如果是input标签,可以直接输入路径,那么可以直接调用send_keys输入路径. 方法二.非input标签上传 这种上传方式需要借助第三方工具,主要有以下三种情 ...

  5. Hibernate中两种获取Session的方式

    转自:https://www.jb51.net/article/130309.htm Session:是应用程序与数据库之间的一个会话,是hibernate运作的中心,持久层操作的基础.对象的生命周期 ...

  6. python比较文件的修改时间,如何比较python中两个文件的修改日期?

    我正在创建一个python脚本,它将逐个访问文本文件(比如file.txt)中的每一行,然后在系统目录中搜索相应的".py"和".txt"文件.例如,如果从&q ...

  7. Spring Boot + Vue 前后端分离,两种文件上传方式总结

    在Vue.js 中,如果网络请求使用 axios ,并且使用了 ElementUI 库,那么一般来说,文件上传有两种不同的实现方案: 通过 Ajax 实现文件上传 通过 ElementUI 里边的 U ...

  8. .vue文件_Spring Boot + Vue 前后端分离,两种文件上传方式总结!

    在Vue.js 中,如果网络请求使用 axios ,并且使用了 ElementUI 库,那么一般来说,文件上传有两种不同的实现方案: 通过 Ajax 实现文件上传 通过 ElementUI 里边的 U ...

  9. java中两种遍历集合的方式_Java中Map集合的两种遍历方式

    Java中的map遍历有多种方法,从最早的Iterator,到java5支持的foreach,再到java8 Lambda,让我们一起来看下Java中Map集合的两种遍历方式! 关于遍历Map集合的几 ...

最新文章

  1. 【拒绝一问就懵】之Activity的启动流程
  2. 从创作工具到虚拟超现实主义,聊一聊VR的艺术王国
  3. 2016 CCPC 杭州
  4. 在Windows下使用OpenCL配置
  5. Linux——find命令常见用法
  6. 水很深的深度学习-Task03前馈神经网络
  7. tensor数据类型,数据转换和新建数据操作
  8. 三菱plc编程电缆通讯端口设置方法(转载)
  9. 14串聚合物锂电池保护板和电路图(带均衡功能)
  10. 清除Windows远程桌面连接记录
  11. 几种常见的光纤接头(ST,SC,LC,FC)以及PC、APC和UPC的区别
  12. [博创智联]创新创客智能硬件平台——三轴加速度传感器
  13. 惠普暗影精灵8和惠普暗影精灵8 Plus 评测
  14. Win-TortoiseGit-使用之-合并代码
  15. MySQL Key的含义
  16. python kite 云盘下载
  17. MapReduce中加强内容
  18. java创建画板_java画板的设计和创建
  19. VC/MFC 编程技巧大总结
  20. 少儿C++编程学习路线推荐(2022.10.31)

热门文章

  1. 《众妙之门——自由网站设计师成功之道》一1.4 自由网站设计师犯的严重错误...
  2. 从Config文件中读取节点的配置信息
  3. 让OA选型与实施不再苦口难言
  4. python调用cplex求解_CPLEX的Python中Bender的分解示例
  5. 【转载】ABAP 字符串 ‘‘ || `` 区别
  6. 【MM模块】 Blanket PO 框架订单
  7. 19、Power Query-快速分析各产品的销售情况
  8. sap 后台作业状态都是什么含义
  9. POJO和javabean的异同
  10. 深度解读:都是顶薪为什么浓眉远超卡哇伊?