Python实现替换文件中指定内容的方法


Posted in Python onMarch 19, 2018

本文实例讲述了Python实现替换文件中指定内容的方法。分享给大家供大家参考,具体如下:

这里使用python编写的程序,实现如下功能:将文件中的指定子串 修改为 另外的子串

编写的python程序,文件名是file_replace.py,具体代码如下:

#!/usr/bin/env python
#_*_ coding:utf-8 _*_
import sys,os
if len(sys.argv)<4 or len(sys.argv)>5:
 sys.exit('There needs four or five parameters')
elif len(sys.argv)==4:
 print 'usage:./file_replace.py old_text new_text filename'
else:
 print 'usage:./file_replace.py old_text new_text filename --bak'
old_text,new_text=sys.argv[1],sys.argv[2]
file_name=sys.argv[3]
f=file(file_name,'rb')
new_file=file('.%s.bak' % file_name,'wb')#文件名以.开头的文件是隐藏文件
for line in f.xreadlines():#f.xreadlines()返回一个文件迭代器,每次只从文件(硬盘)中读一行
 new_file.write(line.replace(old_text,new_text))
f.close()
new_file.close()
if '--bak' in sys.argv: #'--bak'表示要求对原文件备份
 os.rename(file_name,'%s.bak' % file_name) #unchanged
 os.rename('.%s.bak' % file_name,file_name) #changed
else:
 os.rename(file_name,'wahaha.txt')#此处也可以将原文件删除,以便下一语句能够正常执行
 os.rename('.%s.bak' % file_name,file_name)

下面是代码执行的一个例子:

song@ubuntu:~$ more hello.txt
Hello python
Hello world
python Hello
world Hello
song@ubuntu:~$ python file_replace.py Hello love hello.txt --bak
usage:./file_replace.py old_text new_text filename --bak
song@ubuntu:~$ ls
Desktop Documents  file_replace.py Music systemExit.py
diff1.txt Downloads  hello.txt Pictures Templates
diff.txt examples.desktop hello.txt.bak Public Videos
song@ubuntu:~$ more hello.txt
love python
love world
python love
world love
song@ubuntu:~$ more hello.txt.bak
Hello python
Hello world
python Hello
world Hello
song@ubuntu:~$

更多Python相关内容感兴趣的读者可查看本站专题:《Python字符串操作技巧汇总》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python 随机数生成的代码的详细分析
May 15 Python
python操作CouchDB的方法
Oct 08 Python
Python批量转换文件编码格式
May 17 Python
Python通过matplotlib画双层饼图及环形图简单示例
Dec 15 Python
Python中elasticsearch插入和更新数据的实现方法
Apr 01 Python
python遍历文件夹,指定遍历深度与忽略目录的方法
Jul 11 Python
Python中的groupby分组功能的实例代码
Jul 11 Python
python输入整条数据分割存入数组的方法
Nov 13 Python
python找出一个列表中相同元素的多个索引实例
Jun 11 Python
python执行scp命令拷贝文件及文件夹到远程主机的目录方法
Jul 08 Python
Python使用PyQt5/PySide2编写一个极简的音乐播放器功能
Feb 07 Python
Django 解决distinct无法去除重复数据的问题
May 20 Python
python书籍信息爬虫实例
Mar 19 #Python
python中字符串比较使用is、==和cmp()总结
Mar 18 #Python
Python使用zip合并相邻列表项的方法示例
Mar 17 #Python
Python zip()函数用法实例分析
Mar 17 #Python
Python iter()函数用法实例分析
Mar 17 #Python
Python callable()函数用法实例分析
Mar 17 #Python
Python matplotlib绘图可视化知识点整理(小结)
Mar 16 #Python
You might like
Yii框架中 find findAll 查找出制定的字段的方法对比
2014/09/10 PHP
PHP直接修改表内容DataGrid功能实现代码
2015/09/24 PHP
PHP保存session到memcache服务器的方法
2016/01/19 PHP
jQuery之选择组件的深入解析
2013/06/19 Javascript
nodejs实现遍历文件夹并统计文件大小
2015/05/28 NodeJs
jQuery实现按钮只点击一次后就取消点击事件绑定的方法
2015/06/26 Javascript
解决jQuery ajax请求在IE6中莫名中断的问题
2016/06/20 Javascript
jQuery自定义组件(导入组件)
2016/11/08 Javascript
Jquery Easyui进度条组件Progress使用详解(8)
2020/03/26 Javascript
Extjs gridpanel 中的checkbox(复选框)根据某行的条件不能选中的解决方法
2017/02/17 Javascript
jQuery获取所有父级元素及同级元素及子元素的方法(推荐)
2018/01/21 jQuery
JS实现的合并多个数组去重算法示例
2018/04/11 Javascript
ES6 fetch函数与后台交互实现
2018/11/14 Javascript
JavaScript继承与聚合实例详解
2019/01/22 Javascript
Jquery异步上传文件代码实例
2019/11/13 jQuery
Python获取SQLite查询结果表列名的方法
2017/06/21 Python
python下载文件记录黑名单的实现代码
2017/10/24 Python
keras绘制acc和loss曲线图实例
2020/06/15 Python
css3实现垂直下拉动画菜单示例
2014/04/22 HTML / CSS
利用HTML5+css3+jquery+weui实现仿微信聊天界面功能
2018/01/08 HTML / CSS
美国精油公司:Plant Therapy
2019/05/17 全球购物
美国领先的眼镜和太阳镜在线零售商:Glasses.com
2019/08/26 全球购物
Ado与Ado.net的相同与不同
2014/12/08 面试题
军训自我鉴定怎么写
2014/02/13 职场文书
养成教育经验材料
2014/05/26 职场文书
公司委托书格式
2014/08/01 职场文书
2014大学生学生会工作总结
2014/12/19 职场文书
爱心募捐感谢信
2015/01/22 职场文书
顶岗实习协议书
2015/01/29 职场文书
4S店客服专员岗位职责
2015/04/07 职场文书
2015年工程师工作总结
2015/04/30 职场文书
社会实践活动总结格式
2015/05/11 职场文书
冲出亚马逊观后感
2015/06/03 职场文书
医务人员医德医风心得体会
2016/01/25 职场文书
Vue过滤器(filter)实现及应用场景详解
2021/06/15 Vue.js
我家女友可不止可爱呢 公开OP主题曲无字幕动画MV
2022/04/11 日漫