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生成url短链接的方法
May 04 Python
python实现批量监控网站
Sep 09 Python
python模糊图片过滤的方法
Dec 14 Python
Django后台admin的使用详解
Jul 08 Python
Python面向对象之Web静态服务器
Sep 03 Python
利用Python裁切tiff图像且读取tiff,shp文件的实例
Mar 10 Python
使用python图形模块turtle库绘制樱花、玫瑰、圣诞树代码实例
Mar 16 Python
Pytorch上下采样函数--interpolate用法
Jul 07 Python
Flask缓存静态文件的具体方法
Aug 02 Python
通过代码实例解析Pytest运行流程
Aug 20 Python
利用python为PostgreSQL的表自动添加分区
Jan 18 Python
Jupyter Notebook内使用argparse报错的解决方案
Jun 03 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最常用的ini函数分析 针对PHP.ini配置文件
2010/04/22 PHP
simplehtmldom Doc api帮助文档
2012/03/26 PHP
smarty内置函数config_load用法实例
2015/01/22 PHP
windows下apache搭建php开发环境
2015/08/27 PHP
php调用自己java程序的方法详解
2016/05/13 PHP
PHP/HTML混写的四种方式总结
2017/02/27 PHP
PHP中关于php.ini参数优化详解
2020/02/28 PHP
jQuery总体架构的理解分析
2011/03/07 Javascript
{}与function(){}选用空对象{}来存放keyValue
2012/05/23 Javascript
转义字符(\)对JavaScript中JSON.parse的影响概述
2013/07/17 Javascript
JS中prototype关键字的功能介绍及使用示例
2013/07/21 Javascript
javascript和jquery修改a标签的href属性
2013/12/16 Javascript
深入理解jQuery中live与bind方法的区别
2013/12/18 Javascript
JavaScript jquery及AJAX小结
2016/01/24 Javascript
js日期相关函数dateAdd,dateDiff,dateFormat等介绍
2016/09/24 Javascript
使用contextMenu插件实现Bootstrap table弹出右键菜单
2017/02/20 Javascript
jQuery列表检索功能实现代码
2017/07/17 jQuery
VUE实现Studio管理后台之鼠标拖放改变窗口大小
2020/03/04 Javascript
python通过get,post方式发送http请求和接收http响应的方法
2015/05/26 Python
详解Python编程中基本的数学计算使用
2016/02/04 Python
Python Paramiko模块的安装与使用详解
2016/11/18 Python
python3爬取淘宝信息代码分析
2018/02/10 Python
python实现根据文件关键字进行切分为多个文件的示例
2018/12/10 Python
Python画图实现同一结点多个柱状图的示例
2019/07/07 Python
python 实现保存最新的三份文件,其余的都删掉
2019/12/22 Python
python 多线程死锁问题的解决方案
2020/08/25 Python
德国箱包网上商店:koffer24.de
2016/07/27 全球购物
Expedia丹麦:全球领先的旅游网站
2018/03/18 全球购物
Cult Gaia官网:美国生活方式品牌
2019/08/16 全球购物
Linux的文件类型
2012/03/07 面试题
有趣的广告词
2014/03/18 职场文书
实习公司领导推荐函
2014/05/21 职场文书
企业百日安全活动总结
2015/05/07 职场文书
演讲开场白台词大全
2015/05/29 职场文书
幼儿园亲子活动感想
2015/08/07 职场文书
React + Threejs + Swiper 实现全景图效果的完整代码
2021/06/28 Javascript