详解Python文件修改的两种方式


Posted in Python onAugust 22, 2019

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

一、方式一

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

import os

with 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...')
done...

二、方式二

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

import os

with 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...')
done...

总而言之,修改文件内容的思路为:以读的方式打开原文件,以写的方式打开一个新的文件,把原文件的内容进行修改,然后写入新文件,之后利用os模块的方法,把原文件删除,重命名新文件为原文件名,达到以假乱真的目的。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现在每个独立进程中运行一个函数的方法
Apr 23 Python
python批量导入数据进Elasticsearch的实例
May 30 Python
PyQt5实现QLineEdit添加clicked信号的方法
Jun 25 Python
Python程序打包工具py2exe和PyInstaller详解
Jun 28 Python
手写一个python迭代器过程详解
Aug 27 Python
利用setuptools打包python程序的方法步骤
Jan 18 Python
Python如何使用PIL Image制作GIF图片
May 16 Python
Python根据指定文件生成XML的方法
Jun 29 Python
Matlab中plot基本用法的具体使用
Jul 17 Python
Python基于staticmethod装饰器标示静态方法
Oct 17 Python
Python 实现PS滤镜中的径向模糊特效
Dec 03 Python
matplotlib交互式数据光标实现(mplcursors)
Jan 13 Python
详解python中的生成器、迭代器、闭包、装饰器
Aug 22 #Python
python支付宝支付示例详解
Aug 22 #Python
关于python3中setup.py小概念解析
Aug 22 #Python
python3 requests库文件上传与下载实现详解
Aug 22 #Python
python3使用print打印带颜色的字符串代码实例
Aug 22 #Python
Python检查 云备份进程是否正常运行代码实例
Aug 22 #Python
浅谈Python 递归算法指归
Aug 22 #Python
You might like
咖啡冲泡指南 咖啡有哪些制作方式 单品咖啡 意式咖啡
2021/03/06 冲泡冲煮
ThinkPHP CURD方法之table方法详解
2014/06/18 PHP
PHP访问Google Search API的方法
2015/03/05 PHP
php实现表单多按钮提交action的处理方法
2015/10/24 PHP
Iframe 自适应高度并实时监控高度变化的js代码
2009/10/30 Javascript
jQuery为iframe的body添加click事件的实现代码
2011/04/07 Javascript
使用jQuery操作Cookies的实现代码
2011/10/09 Javascript
JS中处理与当前时间间隔的函数代码
2012/05/23 Javascript
自定义jQuery选项卡插件实例
2013/03/27 Javascript
JS实现清除指定cookies的方法
2014/09/20 Javascript
JavaScript通过代码调用Flash显示的方法
2016/02/02 Javascript
Angularjs全局变量被作用域监听的正确姿势
2016/02/06 Javascript
js改变透明度实现轮播图的算法
2020/08/24 Javascript
js,jq,css多方面实现简易下拉菜单功能
2017/05/13 Javascript
angular $watch 一个变量的变化(实例讲解)
2017/08/02 Javascript
用vue构建多页面应用的示例代码
2017/09/20 Javascript
Vue中之nextTick函数源码分析详解
2017/10/17 Javascript
分享一个简单的python读写文件脚本
2017/11/25 Python
Python(Django)项目与Apache的管理交互的方法
2018/05/16 Python
Python中使用logging和traceback模块记录日志和跟踪异常
2019/04/09 Python
django数据关系一对多、多对多模型、自关联的建立
2019/07/24 Python
python 使用xlsxwriter循环向excel中插入数据和图片的操作
2021/01/01 Python
Python爬取某平台短视频的方法
2021/02/08 Python
CSS3 RGBA色彩模式使用实例讲解
2016/04/26 HTML / CSS
澳大利亚Mocha官方网站:包、钱包、珠宝和配饰
2019/07/18 全球购物
The Outnet亚太地区:折扣设计师时装店
2019/12/05 全球购物
Linux管理员面试题 Linux admin interview questions
2014/11/01 面试题
公关关系专员的自我评价分享
2013/11/20 职场文书
心理健康心得体会
2014/01/02 职场文书
餐饮总经理岗位职责
2014/03/07 职场文书
幼儿园六一儿童节文艺汇演主持词
2014/03/21 职场文书
市场营销调查计划书
2014/05/02 职场文书
学校欢迎标语
2014/06/18 职场文书
学校安全管理责任书
2014/07/23 职场文书
四风对照检查材料范文
2014/09/27 职场文书
《富饶的西沙群岛》教学反思
2016/02/16 职场文书