python里怎样替换,修改文本内容
p sss 2707 2704 1345
比如说这样的文本,我想替换第一行第二个1805,替换成别的数据.不用replace,replace替换所有了,在第二行插入一个1100,但是不改变格式怎么做,然后把新的内容写进新的文本里,急急急,用python,尽量简单,太难看不懂 展开
当我们读取文件中内容后,如果想要修改文件中的某一行或者某一个位置的内容,在python中是没有办法直接实现的,如果想要实现这样的操作只能先把文件所有的内容全部读取出来,然后进行匹配修改后写入到新的文件中。
实例代码如下所示:
# 打开旧文件
f = open('file_text.txt','r',encoding='utf-8')
# 打开新文件
f_new = open('file_text_bak.txt','w',encoding='utf-8')
# 循环读取旧文件
for line in f:
# 进行判断
if "Good day is good day" in line:
line = line.replace('Good day is good day','hello,yanyan')
# 如果不符合就正常的将文件中的内容读取并且输出到新文件中
f_new.write(line)
f.close()
f_new.close()
备注:
1. 旧文件的内容
hello,world
yanyan is good girl
Good day is good day
2. 新文件在代码执行后的内容
hello,world
yanyan is good girl
hello,yanyan
3. 需要注意的是权限的问题,对于旧文件必须要有读取权限,对于新的文件必须要有写入权限