您的位置:首页 > 编程语言 > Python开发

Python文件操作小练习之写替换文件里的个别字符(保存到新文件/当前文件)

2016-10-24 21:18 323 查看
题目:1.把a.txt文件里的hello 字符串换成cctv 

            2.并把更换后的文件保存到a3.txt

注意点:1.文件的打开模式的区别,如‘r+’'w+''a+'等

                2.替换可以用re模块中的sub()函数

我写的代码有点冗余。用了re模块里的findall()函数和sub()函数。



结果如下:



写法二:

利用file类的方式直接打开,读写。

利用了replace()函数。

写法更加简洁。



总结一下几种不同模式的区别:

r               只读(默认)

r+            读写

w            写入  先删除原文件,再重新创建,如果文件不存在则创建

w+         读写  先删除原文件,再重新创建,如果文件不存在则创建,可以写入输出

a            写入  在文件末尾追加新的内容,文件不存在,则创建

a+         读写  在文件末尾追加新的内容,文件不存在,则创建

b           打开二进制的文件,可与r,w,a,结合使用

u           支持所有换行符号 \r\n

题目升级:将文本进行替换,但是不是保存到新的文件,而是保存到当前文件。

分析:保存到当前文件,对于文件的打开模式更为讲究。要先以只读模式打开后,对文件每一行进行readlines()操作,并保存到新的列表中。然后随之关闭。

再以'w+'方式进行读写打开,对已经保存的列表用re.sub()进行替换操作,并用f.writelines()函数写入。

import re
f=open('/home/rmbstack/a.txt','r')
alllines=f.readlines()
f.close()
f=open('/home/rmbstack/a.txt','w+')
for eachline in alllines:
a=re.sub('hello','cctv',eachline)
f.writelines(a)
f.close()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐