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 相关文章推荐
本地文件上传到七牛云服务器示例(七牛云存储)
Jan 11 Python
Python中urllib2模块的8个使用细节分享
Jan 01 Python
python过滤字符串中不属于指定集合中字符的类实例
Jun 30 Python
解决Python print 输出文本显示 gbk 编码错误问题
Jul 13 Python
flask中过滤器的使用详解
Aug 01 Python
python+numpy+matplotalib实现梯度下降法
Aug 31 Python
Python3.4学习笔记之列表、数组操作示例
Mar 01 Python
python3.6中@property装饰器的使用方法示例
Aug 17 Python
分享PyCharm的几个使用技巧
Nov 10 Python
PyInstaller将Python文件打包为exe后如何反编译(破解源码)以及防止反编译
Apr 15 Python
分享一个python的aes加密代码
Dec 22 Python
python脚本定时发送邮件
Dec 22 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
调频问题解答
2021/03/01 无线电
php Mysql日期和时间函数集合
2007/11/16 PHP
laravel中的错误与日志用法详解
2016/07/26 PHP
PHP基于GD库实现的生成图片缩略图函数示例
2017/07/05 PHP
PHP 实现公历日期与农历日期的互转换
2017/09/13 PHP
PHP如何解决微信文章图片防盗链
2020/12/09 PHP
jquery 年会抽奖程序
2011/12/22 Javascript
40个有创意的jQuery图片和内容滑动及弹出插件收藏集之二
2011/12/31 Javascript
html a标签-超链接中confirm方法使用介绍
2013/01/04 Javascript
15个jquery常用方法、小技巧分享
2015/01/13 Javascript
jQuery性能优化技巧分析
2015/02/20 Javascript
JavaScript中Boolean对象的属性解析
2015/10/21 Javascript
基于jQuery实现文本框只能输入数字(小数、整数)
2016/01/14 Javascript
JavaScript模版引擎的基本实现方法浅析
2016/02/15 Javascript
JS获取地址栏参数的两种方法(简单实用)
2016/06/14 Javascript
超实用的javascript时间处理总结
2016/08/16 Javascript
Bootstrap媒体对象学习使用
2017/03/07 Javascript
前端把html表格生成为excel表格的实例
2017/09/19 Javascript
jQuery Dom元素操作技巧
2018/02/04 jQuery
把vue-router和express项目部署到服务器的方法
2018/02/21 Javascript
解决vue2.0动态绑定图片src属性值初始化时报错的问题
2018/03/14 Javascript
微信小程序自定义头部导航栏和导航栏背景图片 navigationStyle问题
2019/07/26 Javascript
layer.js之回调销毁对话框的例子
2019/09/11 Javascript
使用python绘制常用的图表
2016/08/27 Python
python分布式环境下的限流器的示例
2017/10/26 Python
python字典改变value值方法总结
2019/06/21 Python
简单的Python人脸识别系统
2020/07/14 Python
洛杉矶健身中心女性专用运动服饰品牌:Marika
2018/05/09 全球购物
奶茶店创业计划书
2014/08/14 职场文书
小学生感恩父母演讲稿
2014/08/28 职场文书
2014年班务工作总结
2014/12/02 职场文书
2014年幼儿园老师工作总结
2014/12/05 职场文书
万能检讨书
2015/01/27 职场文书
入党介绍人考察意见
2015/06/01 职场文书
房地产置业顾问工作总结
2015/10/23 职场文书
社区干部培训心得体会
2016/01/06 职场文书