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 相关文章推荐
python3音乐播放器简单实现代码
Apr 20 Python
python 基础教程之Map使用方法
Jan 17 Python
ActiveMQ:使用Python访问ActiveMQ的方法
Jan 30 Python
Python数据报表之Excel操作模块用法分析
Mar 11 Python
flask框架url与重定向操作实例详解
Jan 25 Python
探秘TensorFlow 和 NumPy 的 Broadcasting 机制
Mar 13 Python
pyautogui自动化控制鼠标和键盘操作的步骤
Apr 01 Python
keras 指定程序在某块卡上训练实例
Jun 22 Python
python如何建立全零数组
Jul 19 Python
python 中的9个实用技巧,助你提高开发效率
Aug 30 Python
python获取命令行参数实例方法讲解
Nov 02 Python
Python数组变形的几种实现方法
May 30 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
async和DOM Script文件加载比较
2014/07/20 PHP
如何通过View::first使用Laravel Blade的动态模板详解
2017/09/21 PHP
在Ajax中使用Flash实现跨域数据读取的实现方法
2010/12/02 Javascript
拖动table标题实现改变td的大小(css+js代码)
2013/04/16 Javascript
如何让页面加载完成后执行js
2013/06/26 Javascript
js中substring和substr的详细介绍与用法
2013/08/29 Javascript
JQuery设置文本框和密码框得到焦点时的样式
2013/08/30 Javascript
javascript放大镜效果的简单实现
2013/12/09 Javascript
js判断页面中是否有指定控件的简单实例
2014/03/04 Javascript
jQuery实现的超酷苹果风格图标滑出菜单效果代码
2015/09/16 Javascript
基于JS实现带动画效果的流程进度条
2018/06/01 Javascript
详解如何在微信小程序开发中正确的使用vant ui组件
2018/09/13 Javascript
vue页面更新patch的实现示例
2020/03/25 Javascript
[01:21:07]EG vs Liquid 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
python中常用检测字符串相关函数汇总
2015/04/15 Python
python验证码识别的示例代码
2017/09/21 Python
Python3.7中安装openCV库的方法
2018/07/11 Python
python中将正则过滤的内容输出写入到文件中的实例
2018/10/21 Python
python 实现倒排索引的方法
2018/12/25 Python
Django数据库连接丢失问题的解决方法
2018/12/29 Python
python打开windows应用程序的实例
2019/06/28 Python
python库matplotlib绘制坐标图
2019/10/18 Python
python主线程与子线程的结束顺序实例解析
2019/12/17 Python
pycharm无法导入本地模块的解决方式
2020/02/12 Python
Python使用tkinter制作在线翻译软件
2021/02/22 Python
HearthSong官网:儿童户外玩具、儿童益智玩具
2017/10/16 全球购物
Ever New加拿大官网:彰显女性美
2018/10/05 全球购物
英国领先的新鲜松露和最好的松露产品供应商:TruffleHunter
2019/08/26 全球购物
CSS实现fullpage.js全屏滚动效果的示例代码
2021/03/24 HTML / CSS
《那片绿绿的爬山虎》教学反思
2014/02/27 职场文书
党的群众路线教育实践活动学习心得体会
2014/03/03 职场文书
参观接待方案
2014/03/17 职场文书
市贸粮局召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
孟佩杰观后感
2015/06/17 职场文书
二手手机买卖合同范本(2019年版)
2019/10/28 职场文书
CentOS安装Nginx并部署vue
2022/04/12 Servers