python基础_文件操作实现全文或单行替换的方法


Posted in Python onSeptember 04, 2017

python修改文件时,使用w模式会将原本的文件清空/覆盖。可以先用读(r)的方式打开,写到内存中,然后再用写(w)的方式打开。

1、替换文本中的taste 为 tasting

Yesterday when I was young
昨日当我年少轻狂
The taste of life was sweet
生命的滋味是甜的
As rain upon my tongue
#将文件读取到内存中
with open("./fileread.txt","r",encoding="utf-8") as f:
 lines = f.readlines() 
#写的方式打开文件
with open("./fileread.txt","w",encoding="utf-8") as f_w:
 for line in lines:
  if "taste" in line:
   #替换
   line = line.replace("taste","tasting")
  f_w.write(line)

2、全文中搜索替换或者单行替换

#文本内容
Yesterday when I was young
昨日当我年少轻狂
The taste of life was sweet
生命的滋味是甜的
As rain upon my tongue
taste
taste
taste
taste
#定义一个函数,带有4个参数
#x 表示要更新的文件名称
#y 表示要被替换的内容
#z 表示 替换后的内容
#s 默认参数为 1 表示只替换第一个匹配到的字符串
# 如果参数为 s = 'g' 则表示全文替换
def string_switch(x,y,z,s=1):
 with open(x, "r", encoding="utf-8") as f:
  #readlines以列表的形式将文件读出
  lines = f.readlines()
 
 with open(x, "w", encoding="utf-8") as f_w:
  #定义一个数字,用来记录在读取文件时在列表中的位置
  n = 0
  #默认选项,只替换第一次匹配到的行中的字符串
  if s == 1:
   for line in lines:
    if y in line:
     line = line.replace(y,z)
     f_w.write(line)
     n += 1
     break
    f_w.write(line)
    n += 1
   #将剩余的文本内容继续输出
   for i in range(n,len(lines)):
    f_w.write(lines[i])
  #全局匹配替换
  elif s == 'g':
   for line in lines:
    if y in line:
     line = line.replace(y,z)
    f_w.write(line)

测试

1)默认参数 1,只替换匹配到的第一行

string_switch("fileread.txt","taste","tasting")
 
#结果
Yesterday when I was young
昨日当我年少轻狂
The tasting of life was sweet
生命的滋味是甜的
As rain upon my tongue
taste
taste
taste
taste

2)全局替换

string_switch("fileread.txt","taste","tasting","g")
 
#结果
Yesterday when I was young
昨日当我年少轻狂
The tasting of life was sweet
生命的滋味是甜的
As rain upon my tongue
tasting
tasting
tasting
tasting

以上这篇python基础_文件操作实现全文或单行替换的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python选择排序算法的实现代码
Nov 21 Python
python用字典统计单词或汉字词个数示例
Apr 22 Python
名片管理系统python版
Jan 11 Python
python MysqlDb模块安装及其使用详解
Feb 23 Python
用python实现百度翻译的示例代码
Mar 09 Python
Linux下python与C++使用dlib实现人脸检测
Jun 29 Python
python实时检测键盘输入函数的示例
Jul 17 Python
Python爬虫爬取百度搜索内容代码实例
Jun 05 Python
django使用graphql的实例
Sep 02 Python
Python Pillow(PIL)库的用法详解
Sep 19 Python
Django+Celery实现定时任务的示例
Jun 23 Python
如何利用Python实现n*n螺旋矩阵
Jan 18 Python
python 生成器协程运算实例
Sep 04 #Python
python 文件操作删除某行的实例
Sep 04 #Python
Django数据库操作的实例(增删改查)
Sep 04 #Python
python中Matplotlib实现绘制3D图的示例代码
Sep 04 #Python
Python2实现的LED大数字显示效果示例
Sep 04 #Python
Python2随机数列生成器简单实例
Sep 04 #Python
开源软件包和环境管理系统Anaconda的安装使用
Sep 04 #Python
You might like
require(),include(),require_once()和include_once()区别
2008/03/27 PHP
PHP实现根据设备类型自动跳转相应页面的方法
2014/07/24 PHP
PHP实现链式操作的核心思想
2015/06/23 PHP
如何解决phpmyadmin导入数据库文件最大限制2048KB
2015/10/09 PHP
yii2.0使用Plupload实现带缩放功能的多图上传
2015/12/22 PHP
js 实现无缝滚动 兼容IE和FF
2009/07/15 Javascript
ExtJS Ext.MessageBox.alert()弹出对话框详解
2010/04/02 Javascript
jquery设置元素的readonly和disabled的写法
2013/09/22 Javascript
文本框回车提交与禁止提交示例
2013/09/27 Javascript
AngularJS中的模块详解
2015/01/29 Javascript
javascript中hasOwnProperty() 方法使用指南
2015/03/09 Javascript
jQuery+PHP实现动态数字展示特效
2015/03/14 Javascript
JavaScript的事件代理和委托实例分析
2015/03/25 Javascript
nodejs 的 session 简单使用
2016/06/06 NodeJs
Nodejs 搭建简单的Web服务器详解及实例
2016/11/30 NodeJs
js自定义瀑布流布局插件
2017/05/16 Javascript
详解Vue Elementui中的Tag与页面其它元素相互交互的两三事
2018/09/25 Javascript
JS跨浏览器解析XML应用过程详解
2020/10/16 Javascript
Python探索之Metaclass初步了解
2017/10/28 Python
对python opencv 添加文字 cv2.putText 的各参数介绍
2018/12/05 Python
set在python里的含义和用法
2019/06/24 Python
python 用户交互输入input的4种用法详解
2019/09/24 Python
python线程里哪种模块比较适合
2020/08/02 Python
浅谈Python 钉钉报警必备知识系统讲解
2020/08/17 Python
python 利用panda 实现列联表(交叉表)
2021/02/06 Python
G-Form护具官方网站:美国运动保护装备
2019/09/04 全球购物
机电专业大学生求职信
2013/10/04 职场文书
办公室主任先进事迹
2014/01/18 职场文书
幼师辞职信范文
2015/02/27 职场文书
会计岗位职责范本
2015/04/02 职场文书
2015年成本会计工作总结
2015/10/14 职场文书
2016中秋节月饼促销广告语
2016/01/28 职场文书
高中信息技术教学反思
2016/02/16 职场文书
python基础之停用词过滤详解
2021/04/21 Python
html5实现点击弹出图片功能
2021/07/16 HTML / CSS
Python函数中apply、map、applymap的区别
2021/11/27 Python