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中map、any、all函数用法分析
Apr 21 Python
浅析Python中return和finally共同挖的坑
Aug 18 Python
Python使用Turtle模块绘制五星红旗代码示例
Dec 11 Python
Python3实现发送QQ邮件功能(附件)
Dec 23 Python
详解Python自建logging模块
Jan 29 Python
为什么Python中没有&quot;a++&quot;这种写法
Nov 27 Python
Python实现的逻辑回归算法示例【附测试csv文件下载】
Dec 28 Python
10分钟用python搭建一个超好用的CMDB系统
Jul 17 Python
Pandas时间序列重采样(resample)方法中closed、label的作用详解
Dec 10 Python
Python基本类型的连接组合和互相转换方式(13种)
Dec 16 Python
Python高并发和多线程有什么关系
Nov 14 Python
pytorch 把图片数据转化成tensor的操作
Mar 04 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之Smarty入门
2007/01/04 PHP
php自定义函数实现汉字转换utf8编码的方法
2016/09/29 PHP
php array_values 返回数组的值实例详解
2016/11/17 PHP
php接口技术实例详解
2016/12/07 PHP
让iframe框架网页在任何浏览器下自动伸缩
2006/08/18 Javascript
JavaScript 检测浏览器和操作系统的脚本
2008/12/26 Javascript
JQuery困惑—包装集 DOM节点
2009/10/16 Javascript
Draggable Elements 元素拖拽功能实现代码
2011/03/30 Javascript
JS Pro-深入面向对象的程序设计之继承的详解
2013/05/07 Javascript
Tab切换组件(选项卡功能)实例代码
2013/11/21 Javascript
JS判断表单输入是否为空(示例代码)
2013/12/23 Javascript
iframe调用父页面函数示例详解
2014/07/17 Javascript
JavaScript实现获取dom中class的方法
2015/02/09 Javascript
详解vue项目中实现图片裁剪功能
2019/06/07 Javascript
js简单的分页器插件代码实例
2019/09/11 Javascript
layui table 获取分页 limit的方法
2019/09/20 Javascript
WebStorm中如何将自己的代码上传到github示例详解
2020/10/28 Javascript
python通过urllib2获取带有中文参数url内容的方法
2015/03/13 Python
Python实现单词拼写检查
2015/04/25 Python
Windows平台Python连接sqlite3数据库的方法分析
2017/07/12 Python
基于python list对象中嵌套元组使用sort时的排序方法
2018/04/18 Python
python中的json总结
2018/10/11 Python
python tkinter窗口最大化的实现
2019/07/15 Python
python获取Pandas列名的几种方法
2019/08/07 Python
Python通过递归获取目录下指定文件代码实例
2019/11/07 Python
PyCharm无法引用自身项目解决方式
2020/02/12 Python
Python ckeditor富文本编辑器代码实例解析
2020/06/22 Python
python自动提取文本中的时间(包含中文日期)
2020/08/31 Python
2014年护士个人工作总结
2014/11/11 职场文书
小学优秀教师先进事迹材料
2014/12/16 职场文书
道歉短信大全
2015/05/12 职场文书
演讲比赛主持词
2015/06/29 职场文书
2016小学优秀教师先进事迹材料
2016/02/26 职场文书
超级实用的公文标题大全!
2019/07/19 职场文书
解决golang结构体tag编译错误的问题
2021/05/02 Golang
深入理解mysql事务隔离级别和存储引擎
2022/04/12 MySQL