博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python替换文件中的指定内容
阅读量:4171 次
发布时间:2019-05-26

本文共 1515 字,大约阅读时间需要 5 分钟。

本文使用python编写程序,实现如下功能:将文件中的指定子串 修改为 另外的子串
编写的python程序,文件名是file_replace.py,具体代码如下:
#!/usr/bin/env python#_*_ coding:utf-8 _*_import sys,osif 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)    #changedelse:    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:~$ 

(完)

转载地址:http://kjyai.baihongyu.com/

你可能感兴趣的文章
Excel简单五子棋
查看>>
Java之synchronized小例
查看>>
jstl之set与out小例
查看>>
apploc.bat
查看>>
配置Thunderbird支持msn邮箱,无需webmail插件(测试通过)
查看>>
乱撞解决word只能以安全模式启动
查看>>
Oracle外部表小例
查看>>
在VS.NET的VC++中运行控制台程序后暂停
查看>>
Linux下rz,sz与ssh,SecureCRT的配合使用
查看>>
Oracle EBS R12 - 以Excel查看输出格式为“文本”的请求时乱码
查看>>
DB2数据库常见问题汇总
查看>>
db2关闭命令行CLP自动提交
查看>>
db2像oracle一样使用hints(guidelines)
查看>>
db2中获取某个表/索引占用空间的大小
查看>>
db2 - 一个bigint问题
查看>>
Python 值传递和引用传递
查看>>
计算Windows下目录大小
查看>>
python web框架企业实战详解(第六期)\第三课时-css&bootstrap
查看>>
python web框架企业实战详解(第六期)\第三课时-ajax&jquery&webpy
查看>>
python web框架企业实战详解(第六期)\第二课时-pickle&__eq__
查看>>