在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)
备注:
旧文件的内容:
hello,world yanyan is good girl Good day is good day
新文件中代码执行后的内容:
hello,world yanyan is good girl hello,yanyan
需要注意的是,旧文件的文件句柄和新文件的文件句柄的权限设置问题,如果权限出错,例如新文件没有写入权限,或者旧文件没有读取权限,那么整体代码都将失效