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创建只读属性对象的方法(ReadOnlyObject)
Feb 10 Python
python实现微信自动回复功能
Apr 11 Python
python 按照固定长度分割字符串的方法小结
Apr 30 Python
Python+Pandas 获取数据库并加入DataFrame的实例
Jul 25 Python
Anaconda下配置python+opencv+contribx的实例讲解
Aug 06 Python
Python配置文件处理的方法教程
Aug 29 Python
Python 类的私有属性和私有方法实例分析
Sep 29 Python
Python基于DB-API操作MySQL数据库过程解析
Apr 23 Python
python中什么是面向对象
Jun 11 Python
Python基于staticmethod装饰器标示静态方法
Oct 17 Python
Python更改pip镜像源的方法示例
Dec 01 Python
python 基于selenium实现鼠标拖拽功能
Dec 24 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
Extended CHM PHP 语法手册之 DIY
2006/10/09 PHP
php zlib压缩和解压缩swf文件的代码
2008/12/30 PHP
php获取域名的google收录示例
2014/03/24 PHP
ThinkPHP模板中判断volist循环的最后一条记录的验证方法
2014/07/01 PHP
PHP获取当前相对于域名目录的方法
2015/06/26 PHP
PHP PDOStatement::fetchObject讲解
2019/02/01 PHP
使图片旋转的3种解决方案
2013/11/21 Javascript
JQuery的$命名冲突详细解析
2013/12/28 Javascript
javascript实现倒计时N秒后网页自动跳转代码
2014/12/11 Javascript
js判断手机号运营商的方法
2015/10/23 Javascript
jquery+json实现分页效果
2016/03/07 Javascript
深入理解JavaScript中的浮点数
2016/05/18 Javascript
JS使用cookie设置样式的方法
2016/06/30 Javascript
jQuery基于ID调用指定iframe页面内的方法
2016/07/06 Javascript
jQuery layui常用方法介绍
2016/07/25 Javascript
RGB和YUV 多媒体编程基础详细介绍
2016/11/04 Javascript
解决vue+webpack打包路径的问题
2018/03/06 Javascript
Vue render渲染时间戳转时间,时间转时间戳及渲染进度条效果
2018/07/27 Javascript
微信小程序局部刷新触发整页刷新效果的实现代码
2018/11/21 Javascript
vue使用localStorage保存登录信息 适用于移动端、PC端
2019/05/27 Javascript
详解微信小程序中var、let、const用法与区别
2020/01/11 Javascript
原生js+canvas实现验证码
2020/11/29 Javascript
python查看模块,对象的函数方法
2018/10/16 Python
把JSON数据格式转换为Python的类对象方法详解(两种方法)
2019/06/04 Python
python使用itchat模块给心爱的人每天发天气预报
2019/11/25 Python
python实现门限回归方式
2020/02/29 Python
中外合拍动画首获奥斯卡提名,“上海出品”《飞奔去月球》能否拿下最终大奖?
2021/03/16 国漫
Perry Ellis官网:美国男士品味服装
2016/12/09 全球购物
美国知名的时尚购物网站:Anthropologie
2016/12/22 全球购物
雅诗兰黛旗下专业男士保养领导品牌:Lab Series
2017/05/15 全球购物
行政总监岗位职责
2013/12/05 职场文书
三年大学自我鉴定
2014/01/16 职场文书
图书室管理制度
2014/01/19 职场文书
普通简短的个人自我评价
2014/02/15 职场文书
Spring中bean的生命周期之getSingleton方法
2021/06/30 Java/Android
【TED出品】天梯非主流开心游1700 划水骑士
2022/03/31 魔兽争霸