Python实现替换文件中指定内容的方法

 更新时间:2018年03月19日 08:52:13   作者:快递小可  
这篇文章主要介绍了Python实现替换文件中指定内容的方法,涉及Python文件读写、字符串替换等相关操作技巧,需要的朋友可以参考下

本文实例讲述了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程序设计有所帮助。

相关文章

  • 详解Django中的权限和组以及消息

    详解Django中的权限和组以及消息

    这篇文章主要介绍了详解Django中的权限和组以及消息,在Python百花齐放的web框架中,Django是人气最高的一个,需要的朋友可以参考下
    2015-07-07
  • django和vue实现数据交互的方法

    django和vue实现数据交互的方法

    今天小编就为大家分享一篇django和vue实现数据交互的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • 将python运行结果保存至本地文件中的示例讲解

    将python运行结果保存至本地文件中的示例讲解

    今天小编就为大家分享一篇将python运行结果保存至本地文件中的示例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • Python OpenCV快速入门教程

    Python OpenCV快速入门教程

    这篇文章主要介绍了Python OpenCV快速入门教程,帮助大家更好的利用opencv处理图像,感兴趣的朋友可以了解下
    2021-04-04
  • 深入解析Python中的多进程

    深入解析Python中的多进程

    这篇文章主要介绍了深入解析Python中的多进程,“Python中的多进程是通过multiprocessing包来实现的,和多线程的threading.Thread差不多,它可以利用multiprocessing.Process对象来创建一个进程对象
    2022-06-06
  • 如何解决flask修改静态资源后缓存文件不能及时更改问题

    如何解决flask修改静态资源后缓存文件不能及时更改问题

    在本篇内容里小编给大家整理的是关于如何解决flask修改静态资源后缓存文件不能及时更改问题,需要的朋友们可以学习下。
    2020-08-08
  • Python使用内存缓存实例分享

    Python使用内存缓存实例分享

    Python中的内存缓存是一种将计算结果存储在内存中,以便在后续调用时快速获取结果的技术。通过使用装饰器和字典等数据结构,可以轻松实现内存缓存功能,提高程序的执行效率。
    2023-09-09
  • python3.7 打包成exe程序方式(只需两行命令)

    python3.7 打包成exe程序方式(只需两行命令)

    这篇文章主要介绍了python3.7 打包成exe程序方式(只需两行命令),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • python遍历路径破解表单的示例

    python遍历路径破解表单的示例

    这篇文章主要介绍了python遍历路径破解表单的示例,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-11-11
  • 用python画个奥运五环(附完整代码)

    用python画个奥运五环(附完整代码)

    大家好,本篇文章主要讲的是用python画个奥运五环(附完整代码),感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-01-01

最新评论