打开文件的模式有(默认为文本模式):
模式 说明
r 只读模式,也是默认模式,文件必须存在,不存在则跑出异常;
w 只写模式,不可读;不存在则创建,存在的话如果有进行写入动作则清空文件内容并写入新内容,如果没有写入动作则只打开不清空文件;
a 只追加模式,不可读,不存在则创建,存在则只在末尾追加内容;
import os
with open('a.txt') as read_f,open('.a.txt.swap','w') as write_f:
data=read_f.read() #全部读入内存,如果文件很大,会很卡
data=data.replace('test','test2') #在内存中完成修改
write_f.write(data) #一次性写入新文件
硬盘存放的该文件的内容一行一行地读入内存,修改完毕就写入新文件,最后用新文件覆盖源文件;
import os
with open('a.txt') as read_f,open('.a.txt.swap','w') as write_f:
for line in read_f:
line=line.replace('test','test2')
write_f.write(line)
os.remove('a.txt')
os.rename('.a.txt.swap','a.txt')
正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符以及这些特定字符的组合,组成一个“规则字符串”,这个规则字符串用来表达对字符串的一种过滤逻辑;
原文:https://www.cnblogs.com/chenxiba/p/11855822.html