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