# 文件內指針的移動#大前提:文件內指針的移動是Bytes爲單位的,惟獨t模式下的read讀取內容個數是以字符爲單位# f.seek(指針移動的字節數,模式控制): 控制文件指針的移動# 模式控制:(0,1,2)# 0: 默認的模式,該模式表明指針移動的字節數是以文件開頭爲參照的# 1: 該模式表明指針移動的字節數是以當前所在的位置爲參照的# 2: 該模式表明指針移動的字節數是以文件末尾的位置爲參照的# 強調:其中0模式能夠在t或者b模式使用,而1跟2模式只能在b模式下用#f.tell()查看文件指針當前距離文件開頭的位置# ---------------------------------------# 文件修改# 須知一:# 硬盤空間沒法修改,硬盤中的數據更新都是用新的內容覆蓋舊的內容# 內存控制能夠修改# with open('a.txt','r+t',encoding='utf-8') as f:# f.seek(4,0)# print(f.tell())# f.write('我擦嘞')# 須知二:# 文件對應的是硬盤空間,硬盤不能修改應爲文件本質也不能修改,# 咱們看到文件的內容能夠修改,是如何實現的呢?# 大的的思路:將硬盤中文件內容讀入內存,而後在內存中修改完畢後再覆蓋回硬盤# 具體的實現方式分爲兩種:# 1. 將文件內容發一次性所有讀入內存,而後在內存中修改完畢後再覆蓋寫回原文件# 優勢: 在文件修改過程當中同一份數據只有一份# 缺點: 會過多地佔用內存# 2. 以讀的方式打開原文件,以寫的方式打開一個臨時文件,一行行讀取原文件內容,修改完後寫入臨時文件...,刪掉原文件,將臨時文件重命名原文件名# 優勢: 不會佔用過多的內存# 缺點: 在文件修改過程當中同一份數據存了兩份