以占用内存的方式修改文件
待修改的文件 word1.txt,文件内容如下:
现在要将文中的“汪淼”修改为“WM”,代码如下:#!-*-coding:utf-8-*-
old_str = '汪淼'
new_str = 'WM'
f1 = open('word1.txt','r+',encoding="utf-8") # 以读写方式打开,可读可写
data = f1.read() # 读取文件内容
print(f1.tell()) # 4574 tell() 方法返回文件的当前位置,即文件指针当前位置。
f1.seek(0) # seek() 方法用于移动文件读取指针到指定位置。
for i in data: # 循环读取
if old_str in data:
data=data.replace(old_str,new_str) # 用新字符串替换旧字符串
print(data) # 打印修改后的内容
f1.write(data) # 向文件中写入内容(data),默认是utf-8
f1.truncate() # 用于截断文件,如果指定了可选参数 size,则表示截断文件为 size 个字符。 如果没有指定 size,
则从当前位置起截断;截断之后 size 后面的所有字符被删除。
f1.close() # 关闭文件
更多Python知识,请关注:Python自学网!!