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