在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
需要注意的是,舊文件的文件句柄和新文件的文件句柄的權限設置問題,如果權限出錯,例如新文件沒有寫入權限,或者舊文件沒有讀取權限,那么整體代碼都將失效