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中的yield函数的用法
Apr 03 Python
Python调用C# Com dll组件实战教程
Oct 12 Python
python字符串与url编码的转换实例
May 10 Python
python实现输入数字的连续加减方法
Jun 22 Python
pygame实现简易飞机大战
Sep 11 Python
使用django-guardian实现django-admin的行级权限控制的方法
Oct 30 Python
Python3 关于pycharm自动导入包快捷设置的方法
Jan 16 Python
解决Django中修改js css文件但浏览器无法及时与之改变的问题
Aug 31 Python
Python函数的定义方式与函数参数问题实例分析
Dec 26 Python
Python3使用腾讯云文字识别(腾讯OCR)提取图片中的文字内容实例详解
Feb 18 Python
Django使用rest_framework写出API
May 21 Python
python实现猜拳游戏项目
Nov 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
一个PHP的QRcode类与大家分享
2011/11/13 PHP
php的一个简单加密解密代码
2014/01/14 PHP
PHP中串行化用法示例
2016/11/16 PHP
利用PHP实现一个简单的用户登记表示例
2017/04/25 PHP
Nigma vs AM BO3 第二场2.13
2021/03/10 DOTA
html读出文本文件内容
2007/01/22 Javascript
JS实现匀速运动的代码实例
2013/11/29 Javascript
angular.foreach 循环方法使用指南
2015/01/06 Javascript
深入剖析JavaScript中的函数currying柯里化
2016/04/29 Javascript
深入理解JavaScript中的call、apply、bind方法的区别
2016/05/30 Javascript
输入框点击时边框变色效果的实现方法
2016/12/26 Javascript
ionic 自定义弹框效果
2017/06/27 Javascript
详解mpvue小程序中怎么引入iconfont字体图标
2018/10/01 Javascript
Vue组件通信的几种实现方法
2019/04/25 Javascript
详解微信小程序缓存--缓存时效性
2019/05/02 Javascript
解决node.js含有%百分号时发送get请求时浏览器地址自动编码的问题
2019/11/20 Javascript
JavaScript实现简单的弹窗效果
2020/05/19 Javascript
基于vuex实现购物车功能
2021/01/10 Vue.js
用Python中的字典来处理索引统计的方法
2015/05/05 Python
Python实现基本线性数据结构
2016/08/22 Python
Django 浅谈根据配置生成SQL语句的问题
2018/05/29 Python
Python使用pickle模块报错EOFError Ran out of input的解决方法
2018/08/16 Python
Python实现html转换为pdf报告(生成pdf报告)功能示例
2019/05/04 Python
简单了解python装饰器原理及使用方法
2019/12/18 Python
使用K.function()调试keras操作
2020/06/17 Python
Pytorch实现WGAN用于动漫头像生成
2021/03/04 Python
Nike比利时官网:Nike.com (BE)
2019/02/07 全球购物
施工安全协议书
2013/12/11 职场文书
应届毕业生自荐书
2014/06/18 职场文书
明星员工获奖感言
2014/08/14 职场文书
2014年路政工作总结
2014/12/10 职场文书
2019最新劳动仲裁申请书!
2019/07/08 职场文书
基于python的matplotlib制作双Y轴图
2021/04/20 Python
HTML中的表单元素介绍
2022/02/28 HTML / CSS
GTX1660显卡搭配显示器推荐
2022/04/19 数码科技
Mysql 数据库中的 redo log 和 binlog 写入策略
2022/04/26 MySQL