摘要:這個原因涉及到一個叫的東西,俺滴老師沒教,我也不好深說,等深入理解它后再和你們講哈
本文主要討論一下文件的三種可讀可寫模式的特點及互相之間的區別,以及能否實現修改文件的操作
由于前文已經討論過編碼的事情了,所以這里不再研究編碼,所有打開操作默認都是utf-8編碼(Linux系統下)
既然r+既能讀又能寫,那么能否實現在r+模式下進行文件的修改呢?答案是肯定的!,但是,有一點你需要注意,除非你知道在確切的位置修改確切的內容,否則往往不會得到你期望的結果。舉個例子如下:
我們有這樣一個文本“十步殺一人,千里不留行”
假設有這樣一個需求,把“十步殺一人”改成“十步殺一個土匪”,初步設想是:用read(4)讀取到漢字“一”,然后寫入漢字“個土匪”:
with open("job", mode="r+") as f: print("先讀取四個字符:",f.read(4)) print("讀取后的指針位置:",f.tell()) f.write("個土匪") f.seek(0) print(f.read()) 輸出為: 先讀取四個字符: 十步殺一 讀取后的指針位置: 12 十步殺一人,千里不留行個土匪
從結果可以看到,使用read(4)指針確實移動到了指定的位置,但是寫入的時候卻沒有按照設想,而是跑到了文件的末尾。這個原因涉及到一個叫“CHUNK”的東西,俺滴老師沒教,我也不好深說,等深入理解它后再和你們講哈
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/42553.html
摘要:文件的基本操作編碼不同編碼之間的二進制是不能互相識別的。返回值有幾種情況分別是沒有返回值返回一個值返回多個值。函數定義計算的長度函數調用因為沒有返回值,此時的為只寫,后面不寫其他內容,也會返回,但是遇到會終止整個函數。 文件的基本操作 編碼 1.不同編碼之間的二進制是不能互相識別的。2.對于文件的存儲,及傳輸 不能是unicode的編碼。 bytes:內部編碼格式(非unicode) ...
摘要:如果該文件已存在,文件的初始指針在文件的結尾。文件中只有一句話十步殺一人,千里不留行。關閉文件如果用來打開文件的話就不用管關閉文件的操作了,因為已經幫你完成了這一步,否則必須在處理文件之后加上關閉文件的操作 讀取文件的操作步驟 有一道腦筋急轉彎,問把大象裝進冰箱的步驟,答案很簡單,打開冰箱、把大象推進去、關閉冰箱。這就是一個處理問題的思路,我們對文件的操作和這個一樣,第一步:打開文件;...
摘要:可以對文件進行查看創建等功能,可以對文件內容進行添加修改刪除,且所使用到的函數在為,在同時支持和,但是在系列移除了函數。在及以后,又支持同時對多個文件的上下文進行管理,即原文鏈接 Python可以對文件進行查看、創建等功能,可以對文件內容進行添加、修改、刪除,且所使用到的函數在Python3.5.x為open,在Python2.7.x同時支持file和open,但是在3.5.x系列移除...
人生苦短,我用Python 開發環境搭建安裝 Python驗證是否安裝成功安裝Pycharm配置pycharm 編碼規范基本語法規則保留字單行注釋多行注釋行與縮進多行語句數據類型空行等待用戶輸入print輸出 運算符算術運算符邏輯運算符成員運算符身份運算符運算符優先級 字符串訪問字符串中的值字符串更新合并連接字符串刪除空白startswith()方法endswith()方法字符串格式化...
閱讀 3021·2021-11-12 10:36
閱讀 4726·2021-09-22 10:57
閱讀 1558·2021-09-22 10:53
閱讀 2636·2019-08-30 15:55
閱讀 3493·2019-08-29 17:00
閱讀 3352·2019-08-29 16:36
閱讀 2463·2019-08-29 13:46
閱讀 1348·2019-08-26 11:45