python里怎样替换,修改文本内容

rsss180518051805psss270727041345比如说这样的文本,我想替换第一行第二个1805,替换成别的数据.不用replace,replace替换所有... r sss 1805 1805 1805
p sss 2707 2704 1345
比如说这样的文本,我想替换第一行第二个1805,替换成别的数据.不用replace,replace替换所有了,在第二行插入一个1100,但是不改变格式怎么做,然后把新的内容写进新的文本里,急急急,用python,尽量简单,太难看不懂
展开
 我来答
约定20125
2018-07-30 · TA获得超过1.5万个赞
知道大有可为答主
回答量:1.1万
采纳率:96%
帮助的人:2924万
展开全部

当我们读取文件中内容后,如果想要修改文件中的某一行或者某一个位置的内容,在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. 需要注意的是权限的问题,对于旧文件必须要有读取权限,对于新的文件必须要有写入权限

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式