回顧03的內(nèi)容高镐,其難點(diǎn)主要在于文件的操作
在04中提揍,主要復(fù)習(xí)和鞏固對(duì)文件操作啤月,加深對(duì)其理解。
文件的更多操作
常用打開模式:
r 只能讀
r+ 可讀可寫碳锈,不會(huì)創(chuàng)建不存在的文件,從頂部開始寫欺抗,會(huì)覆蓋之前此位置的內(nèi)容
w+ 可讀可寫售碳,如果文件存在,則覆蓋整個(gè)文件绞呈,不存在則創(chuàng)建
w 只能寫贸人,覆蓋整個(gè)文件,不存在則創(chuàng)建
a 只能寫佃声,從文件底部添加內(nèi)容 不存在則創(chuàng)建
a+ 可讀可寫 從文件頂部讀取內(nèi)容 從文件底部添加內(nèi)容 不存在則創(chuàng)建
但是實(shí)驗(yàn)發(fā)現(xiàn)艺智,這里的r+ 可讀可寫 不會(huì)創(chuàng)建不存在的文件 從頂部開始寫 會(huì)覆蓋之前此位置的內(nèi)容不完整。
另外我們?cè)诓僮鲿r(shí)發(fā)現(xiàn)了seek的使用方法
類似于指針圾亏,若我們直接執(zhí)行read()方法十拣,它會(huì)將整個(gè)文件讀取完畢封拧。從而指針指向的位置就是文件末尾。
這樣無(wú)論執(zhí)行truncate()還是方法都操作不到相應(yīng)的內(nèi)容了夭问。
嘗試寫一個(gè)腳本去copy文件
copyfile.png
執(zhí)行結(jié)果:
FANGQIdeMacBook-Pro:PythonStudy fangqi$ python3 ex12.py ex12_operate.txt
This shell will copy the file ex12_operate.txt to the file ex12_operate.txt_copy
All is down
copy_successfully.png
對(duì)truncate的鞏固
image.png
- 標(biāo)注中的print沒(méi)有打印出來(lái)泽西,原因和之前的一樣。
在使用了truncate清空了之后的內(nèi)容缰趋,指針的位置沒(méi)有轉(zhuǎn)移捧杉,在執(zhí)行read()的時(shí)候文件之后沒(méi)有任何內(nèi)容。因此打印為空行秘血。 - truncate() 可以傳入整型的參數(shù)味抖,表示從當(dāng)前位置截取多少位保留,其余的都刪掉灰粮。