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的Collections模块中counter结构的用法
Jul 07 Python
python实现俄罗斯方块
Jun 26 Python
TensorFlow用expand_dim()来增加维度的方法
Jul 26 Python
解决python3 pika之连接断开的问题
Dec 18 Python
用Pycharm实现鼠标滚轮控制字体大小的方法
Jan 15 Python
python基于SMTP协议发送邮件
May 31 Python
python django框架中使用FastDFS分布式文件系统的安装方法
Jun 10 Python
Python re 模块findall() 函数返回值展现方式解析
Aug 09 Python
python中几种自动微分库解析
Aug 29 Python
Laravel框架表单验证格式化输出的方法
Sep 25 Python
Python Sphinx使用实例及问题解决
Jan 17 Python
Django视图、传参和forms验证操作
Jul 15 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 获取MSN好友列表的代码(2009-05-14测试通过)
2009/09/09 PHP
PHP生成网页快照 不用COM不用扩展.
2010/02/11 PHP
PHP iconv 解决utf-8和gb2312编码转换问题
2010/04/12 PHP
wordpress安装过程中遇到中文乱码的处理方法
2015/04/21 PHP
php实现的简单美国商品税计算函数
2015/07/13 PHP
Yii2 rbac权限控制操作步骤实例教程
2016/04/29 PHP
微信红包随机生成算法php版
2016/07/21 PHP
php下载文件,添加响应头的简单实例
2016/09/22 PHP
让图片旋转任意角度及JQuery插件使用介绍
2013/03/20 Javascript
jQuery动态设置form表单的enctype值(实现代码)
2013/07/04 Javascript
getJSON调用后台json数据时函数被调用两次的原因猜想
2013/09/29 Javascript
JavaScript获取浏览器信息的方法
2015/11/20 Javascript
如何让一个json文件显示在表格里【实现代码】
2016/05/09 Javascript
JS加载器如何动态加载外部js文件
2016/05/26 Javascript
关于不同页面之间实现参数传递的几种方式讨论
2017/02/13 Javascript
详解vue项目的构建,打包,发布全过程
2017/11/23 Javascript
微信小程序实现锚点功能
2019/11/20 Javascript
python编码总结(编码类型、格式、转码)
2016/07/01 Python
python如何统计序列中元素
2020/07/31 Python
Opencv-Python图像透视变换cv2.warpPerspective的示例
2019/04/11 Python
Python代码执行时间测量模块timeit用法解析
2020/07/01 Python
Python爬虫之Selenium中frame/iframe表单嵌套页面
2020/12/04 Python
巴西葡萄酒销售网站:Wine.com.br
2017/11/07 全球购物
毕业生个人求职自荐信
2014/02/26 职场文书
马智宇结婚主持词
2014/04/01 职场文书
合作经营协议书范本
2014/04/17 职场文书
单方离婚协议书范本2014
2014/10/28 职场文书
贪污受贿检讨书范文
2014/11/19 职场文书
2014年消防工作总结
2014/11/21 职场文书
担保书范本
2015/01/20 职场文书
给客户的感谢信
2015/01/21 职场文书
地震慰问信
2015/02/14 职场文书
使用Pytorch实现two-head(多输出)模型的操作
2021/05/28 Python
详解Redis在SpringBoot工程中的综合应用
2021/10/16 Redis
postgreSQL数据库基础知识介绍
2022/04/12 PostgreSQL
Python实现将多张图片合成MP4视频并加入背景音乐
2022/04/28 Python