python修改文件内容的3种方法详解


Posted in Python onNovember 15, 2019

这篇文章主要介绍了python修改文件内容的3种方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

一、修改原文件方式

def alter(file,old_str,new_str):
  """
  替换文件中的字符串
  :param file:文件名
  :param old_str:就字符串
  :param new_str:新字符串
  :return:
  """
  file_data = ""
  with open(file, "r", encoding="utf-8") as f:
    for line in f:
      if old_str in line:
        line = line.replace(old_str,new_str)
      file_data += line
  with open(file,"w",encoding="utf-8") as f:
    f.write(file_data)

alter("file1", "09876", "python")

二、把原文件内容和要修改的内容写到新文件中进行存储的方式

2.1 python字符串替换的方法,修改文件内容

import os
def alter(file,old_str,new_str):
  """
  将替换的字符串写到一个新的文件中,然后将原文件删除,新文件改为原来文件的名字
  :param file: 文件路径
  :param old_str: 需要替换的字符串
  :param new_str: 替换的字符串
  :return: None
  """
  with open(file, "r", encoding="utf-8") as f1,open("%s.bak" % file, "w", encoding="utf-8") as f2:
    for line in f1:
      if old_str in line:
        line = line.replace(old_str, new_str)
      f2.write(line)
  os.remove(file)
  os.rename("%s.bak" % file, file)

alter("file1", "python", "测试")

2.2 python 使用正则表达式 替换文件内容 re.sub 方法替换

import re,os
def alter(file,old_str,new_str):

  with open(file, "r", encoding="utf-8") as f1,open("%s.bak" % file, "w", encoding="utf-8") as f2:
    for line in f1:
      f2.write(re.sub(old_str,new_str,line))
  os.remove(file)
  os.rename("%s.bak" % file, file)
alter("file1", "admin", "password")

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

Python 相关文章推荐
python PIL模块与随机生成中文验证码
Feb 27 Python
Python对文件和目录进行操作的方法(file对象/os/os.path/shutil 模块)
May 08 Python
python实现画五角星和螺旋线的示例
Jan 20 Python
在Python中将函数作为另一个函数的参数传入并调用的方法
Jan 22 Python
如何用Python来搭建一个简单的推荐系统
Aug 07 Python
python中的函数递归和迭代原理解析
Nov 14 Python
PyCharm无法识别PyQt5的2种解决方法,ModuleNotFoundError: No module named 'pyqt5'
Feb 17 Python
python编写俄罗斯方块
Mar 13 Python
python+opencv实现移动侦测(帧差法)
Mar 20 Python
PyQT5速成教程之Qt Designer介绍与入门
Nov 02 Python
Python 调用 ES、Solr、Phoenix的示例代码
Nov 23 Python
Python字节单位转换(将字节转换为K M G T)
Mar 02 Python
Python实现基于socket的udp传输与接收功能详解
Nov 15 #Python
python根据文本生成词云图代码实例
Nov 15 #Python
解决django后台管理界面添加中文内容乱码问题
Nov 15 #Python
python中的TCP(传输控制协议)用法实例分析
Nov 15 #Python
Django admin禁用编辑链接和添加删除操作详解
Nov 15 #Python
django实现类似触发器的功能
Nov 15 #Python
Python socket实现的文件下载器功能示例
Nov 15 #Python
You might like
PHP连接SQLServer2005 的问题解决方法
2010/07/19 PHP
PHP与Java进行通信的实现方法
2013/10/21 PHP
纯PHP代码实现支付宝批量付款
2015/12/24 PHP
php 解决substr()截取中文字符乱码问题
2016/07/18 PHP
Alliance vs AM BO3 第二场2.13
2021/03/10 DOTA
javascript中字符串替换函数replace()方法与c# 、vb 替换有一点不同
2010/06/25 Javascript
js操作iframe兼容各种主流浏览器示例代码
2013/07/22 Javascript
理解Javascript闭包
2013/11/01 Javascript
javascript获取所有同类checkbox选项(实例代码)
2013/11/07 Javascript
jquery ajax 局部无刷新更新数据的实现案例
2014/02/08 Javascript
利用jQuery.Validate异步验证用户名是否存在(推荐)
2016/12/09 Javascript
React Native 使用Fetch发送网络请求的示例代码
2017/12/02 Javascript
浅谈vue引入css,less遇到的坑和解决方法
2018/01/20 Javascript
微信小程序chooseImage的用法(从本地相册选择图片或使用相机拍照)
2018/08/22 Javascript
如何为你的JavaScript代码日志着色详解
2019/04/08 Javascript
VUE实现强制渲染,强制更新
2019/10/29 Javascript
在JavaScript中实现链式调用的实现
2019/12/24 Javascript
JavaScript canvas实现跟随鼠标移动小球
2021/02/09 Javascript
[04:55]完美世界副总裁蔡玮:DOTA2的自由、公平与信任
2013/12/18 DOTA
[46:55]LGD vs Liquid 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
[00:52]DOTA2国际邀请赛
2020/02/21 DOTA
Python lxml模块安装教程
2015/06/02 Python
Python获取系统默认字符编码的方法
2015/06/04 Python
Python打包方法Pyinstaller的使用
2018/10/09 Python
Pycharm如何导入python文件及解决报错问题
2020/05/10 Python
Python json格式化打印实现过程解析
2020/07/21 Python
Python页面加载的等待方式总结
2021/02/28 Python
Html5游戏开发之乒乓Ping Pong游戏示例(二)
2013/01/21 HTML / CSS
酒店总经理欢迎词
2014/01/08 职场文书
2014年五四青年节活动方案
2014/03/29 职场文书
个人总结与自我评价
2014/09/18 职场文书
校长师德师风自我剖析材料
2014/09/29 职场文书
2015年教师节活动总结
2015/03/20 职场文书
2015年生产部工作总结范文
2015/05/25 职场文书
横空出世观后感
2015/06/09 职场文书
5道关于python基础 while循环练习题
2021/11/27 Python