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使用random和tertools模块解一些经典概率问题
Jan 28 Python
python开发之thread实现布朗运动的方法
Nov 11 Python
解决python3中解压zip文件是文件名乱码的问题
Mar 22 Python
python实现彩色图转换成灰度图
Jan 15 Python
python3实现钉钉消息推送的方法示例
Mar 14 Python
Python中的pathlib.Path为什么不继承str详解
Jun 23 Python
讲解Python3中NumPy数组寻找特定元素下标的两种方法
Aug 04 Python
Python 分发包中添加额外文件的方法
Aug 16 Python
python 实现提取log文件中的关键句子,并进行统计分析
Dec 24 Python
解决torch.autograd.backward中的参数问题
Jan 07 Python
python使用pandas抽样训练数据中某个类别实例
Feb 28 Python
python爬虫scrapy基于CrawlSpider类的全站数据爬取示例解析
Feb 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
php各种编码集详解和以及在什么情况下进行使用
2011/09/11 PHP
PHP中通过trigger_error触发PHP错误示例
2015/06/23 PHP
PHP const定义常量及global定义全局常量实例解析
2020/05/28 PHP
没有document.getElementByName方法
2013/08/19 Javascript
动态创建script标签实现跨域资源访问的方法介绍
2014/02/28 Javascript
js onmousewheel事件多次触发问题解决方法
2014/10/17 Javascript
教你使用javascript简单写一个页面模板引擎
2015/05/05 Javascript
莱鸟介绍javascript onclick事件
2016/01/06 Javascript
Kindeditor在线文本编辑器如何过滤HTML
2016/04/14 Javascript
JS两种类型的表单提交方法实例分析
2016/11/28 Javascript
在 Angular中 使用 Lodash 的方法
2018/02/11 Javascript
利用Node.js批量抓取高清妹子图片实例教程
2018/08/02 Javascript
Angularjs实现数组随机排序的方法
2018/10/02 Javascript
js 判断当前时间是否处于某个一个时间段内
2019/09/19 Javascript
Python中使用MELIAE分析程序内存占用实例
2015/02/18 Python
TensorFlow 实战之实现卷积神经网络的实例讲解
2018/02/26 Python
PyTorch上搭建简单神经网络实现回归和分类的示例
2018/04/28 Python
Python3利用Dlib19.7实现摄像头人脸识别的方法
2018/05/11 Python
python频繁写入文件时提速的方法
2019/06/26 Python
python利用7z批量解压rar的实现
2019/08/07 Python
Django生成PDF文档显示网页上以及PDF中文显示乱码的解决方法
2019/12/17 Python
基于python实现matlab filter函数过程详解
2020/06/08 Python
Keras构建神经网络踩坑(解决model.predict预测值全为0.0的问题)
2020/07/07 Python
python 如何把docker-compose.yaml导入到数据库相关条目里
2021/01/15 Python
苹果美国官方商城:Apple美国
2016/08/24 全球购物
Swanson中国官网:美国斯旺森健康产品公司
2021/03/01 全球购物
医生进修自我鉴定
2014/01/19 职场文书
团购业务员岗位职责
2014/03/15 职场文书
婚前协议书
2014/04/15 职场文书
优秀共产党员演讲稿
2014/09/04 职场文书
个人授权委托书范文
2014/09/21 职场文书
晚会闭幕词
2015/01/28 职场文书
办公室文员岗位职责
2015/02/04 职场文书
经理聘任证明
2015/03/02 职场文书
消防宣传语大全
2015/07/13 职场文书
go语言中切片与内存复制 memcpy 的实现操作
2021/04/27 Golang