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 相关文章推荐
gearman的安装启动及python API使用实例
Jul 08 Python
Python注释详解
Jun 01 Python
Python简单遍历字典及删除元素的方法
Sep 18 Python
Python如何快速实现分布式任务
Jul 06 Python
python实现TF-IDF算法解析
Jan 02 Python
Python使用googletrans报错的解决方法
Sep 25 Python
Django自定义全局403、404、500错误页面的示例代码
Mar 08 Python
详解Python多线程下的list
Jul 03 Python
浅析PyCharm 的初始设置(知道)
Oct 12 Python
解决python3输入的坑——input()
Dec 05 Python
解决hive中导入text文件遇到的坑
Apr 07 Python
Python Flask请求扩展与中间件相关知识总结
Jun 11 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
DOTA2游戏同人动画《龙之血》导演接受采访
2021/03/05 欧美动漫
PHP面向对象学习笔记之一 基础概念
2012/10/06 PHP
MongoDB在PHP中的常用操作小结
2014/02/20 PHP
UTF-8正则表达式如何匹配汉字
2015/08/03 PHP
javascript 运算数的求值顺序
2011/08/23 Javascript
jQuery1.6 使用方法二
2011/11/23 Javascript
解析Javascript小括号“()”的多义性
2013/12/03 Javascript
理解jQuery stop()方法
2014/11/21 Javascript
常用的JavaScript WEB操作方法分享
2015/02/28 Javascript
js字符串引用的两种方式(必看)
2016/09/18 Javascript
Angularjs中ng-repeat的简单实例
2017/08/25 Javascript
Angular @HostBinding()和@HostListener()用法
2018/03/05 Javascript
微信小程序云开发之使用云函数
2019/05/17 Javascript
浅谈javascript错误处理
2019/08/11 Javascript
微信小程序之侧边栏滑动实现过程解析(附完整源码)
2019/08/23 Javascript
Python制作爬虫抓取美女图
2016/01/20 Python
Python卸载模块的方法汇总
2016/06/07 Python
浅谈python中的数字类型与处理工具
2017/08/02 Python
Django视图之ORM数据库查询操作API的实例
2017/10/27 Python
Python爬虫将爬取的图片写入world文档的方法
2018/11/07 Python
python读取文件名并改名字的实例
2019/01/07 Python
Python进程间通信Queue消息队列用法分析
2019/05/22 Python
selenium+python自动化测试环境搭建步骤
2019/06/03 Python
python识别文字(基于tesseract)代码实例
2019/08/24 Python
python+rsync精确同步指定格式文件
2019/08/29 Python
python将四元数变换为旋转矩阵的实例
2019/12/04 Python
Python3爬虫mitmproxy的安装步骤
2020/07/29 Python
HTML5 本地存储 LocalStorage详解
2016/06/24 HTML / CSS
乌克兰香水和化妆品网站:Notino.ua
2018/03/26 全球购物
ALDO加拿大官网:加拿大女鞋品牌
2018/12/22 全球购物
人力资源部门的主要职能
2014/02/22 职场文书
自查自纠工作情况报告
2014/10/29 职场文书
迎新生欢迎词
2015/01/23 职场文书
2015年小学教导处工作总结
2015/05/26 职场文书
职场领导同事生日简短祝福语
2019/08/06 职场文书
Java中PriorityQueue实现最小堆和最大堆的用法
2021/06/27 Java/Android