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 相关文章推荐
教你如何将 Sublime 3 打造成 Python/Django IDE开发利器
Jul 04 Python
Python进阶-函数默认参数(详解)
May 18 Python
python探索之BaseHTTPServer-实现Web服务器介绍
Oct 28 Python
python字典操作实例详解
Nov 16 Python
Python数据结构之栈、队列的实现代码分享
Dec 04 Python
Python绘制正余弦函数图像的方法
Aug 28 Python
python3实现点餐系统
Jan 24 Python
django框架基于模板 生成 excel(xls) 文件操作示例
Jun 19 Python
python如何实现代码检查
Jun 28 Python
Python中的list与tuple集合区别解析
Oct 12 Python
Django实现后台上传并显示图片功能
May 29 Python
解决tensorflow 释放图,删除变量问题
Jun 23 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无敌近乎加密方式!
2010/07/17 PHP
php不写闭合标签的好处
2014/03/04 PHP
yii,CI,yaf框架+smarty模板使用方法
2015/12/29 PHP
thinkphp在php7环境下提示Cannot use ‘String’ as class name as it is reserved的解决方法
2016/09/30 PHP
PHPExcel实现的读取多工作表操作示例
2020/04/14 PHP
firefox中JS读取XML文件
2006/12/21 Javascript
json跟xml的对比分析
2008/06/10 Javascript
jQuery ctrl+Enter shift+Enter实现代码
2010/02/07 Javascript
ymPrompt的doHandler方法来实现获取子窗口返回值的方法
2010/06/25 Javascript
js跨域问题之跨域iframe自适应大小实现代码
2010/07/17 Javascript
使用jQuery解决IE与FireFox下createElement方法的差异
2013/11/14 Javascript
JQuery1.8 判断元素是否绑定事件的方法
2014/07/10 Javascript
js流动式效果显示当前系统时间
2016/05/16 Javascript
JS闭包与延迟求值用法示例
2016/12/22 Javascript
基于ajax与msmq技术的消息推送功能实现代码
2016/12/26 Javascript
JavaScript函数绑定用法实例分析
2017/11/14 Javascript
微信小程序webview实现长按点击识别二维码功能示例
2019/01/24 Javascript
vue滚动tab跟随切换效果
2020/06/29 Javascript
webpack常用构建优化策略小结
2019/11/21 Javascript
基于Vue实现微前端的示例代码
2020/04/24 Javascript
微信小程序换肤功能实现代码(思路详解)
2020/08/25 Javascript
[00:31]2016完美“圣”典风云人物:国士无双宣传片
2016/12/04 DOTA
Python中的MongoDB基本操作:连接、查询实例
2015/02/13 Python
使用Python通过win32 COM打开Excel并添加Sheet的方法
2018/05/02 Python
浅谈dataframe中更改列属性的方法
2018/07/10 Python
python读取图片并修改格式与大小的方法
2018/07/24 Python
python代码 输入数字使其反向输出的方法
2018/12/22 Python
python f-string式格式化听语音流程讲解
2019/06/18 Python
pytorch 输出中间层特征的实例
2019/08/17 Python
Python图片的横坐标汉字实例
2019/12/04 Python
如何写python的配置文件
2020/06/07 Python
自我鉴定范文
2013/11/10 职场文书
幼儿园运动会加油词
2014/02/14 职场文书
小学节能减排倡议书
2014/05/15 职场文书
三人合伙协议书范本
2014/10/29 职场文书
在职证明书模板
2015/06/15 职场文书