[Python][華為云Python編程創(chuàng)造營][學(xué)習(xí)筆記][08_IO操作]
1,文件的讀寫操作
1.1,讀文件中的內(nèi)容:
- open(filename,mode,encoding):打開文件,返回文件操作對(duì)象。
filename:文件名。
mode:文件打開模式。
encoding:編碼格式。
- f.read(size):返回文件中的內(nèi)容。
size,控制一次讀取的內(nèi)容大小
- f.readline():一次只讀取一行的內(nèi)容
文本文件中的/n被視為換行。
- f.readlines():按行讀取所有,返回一個(gè)列表,每一項(xiàng)的內(nèi)容為一個(gè)f.readline()。
f=open("hello.txt","r") print(f.read()) # 全部讀取 print(f.readline()) # 只讀取一行 print(f.readlines()) # 全部讀取,列表返回 f.close()
1.2,寫入文件內(nèi)容:
- 使用寫模式打開不存在的文件可以新建文件
# 覆蓋寫入,如果文件不存在,會(huì)創(chuàng)建新的文件,如果已存在則覆蓋原有內(nèi)容 str_="""小說內(nèi)容,此處省去十萬字""" f=open("重生之我是程序員.txt","w") f.write(str_) # 寫入內(nèi)容 f.close() # 追加寫入,如果文件不存在,會(huì)創(chuàng)建新的文件,如果已存在則追加寫入 f=open("重生之我是程序員.txt","a")
1.3,保存文件內(nèi)容
- 數(shù)據(jù)是先寫入緩存,在保存時(shí)會(huì)寫入到磁盤中
- f.close():關(guān)閉文件。
在關(guān)閉時(shí)會(huì)將數(shù)據(jù)寫入到磁盤中
文件讀寫時(shí)不加入close方法可能會(huì)造成數(shù)據(jù)丟失
長(zhǎng)時(shí)間不關(guān)閉打開的文件,會(huì)出現(xiàn)異常
- f.flush():將緩存內(nèi)容寫入磁盤。
1.4,文件常用操作函數(shù)
- f.tell():返回當(dāng)前文件讀取位置
- f.seek(off,where):定位文件讀寫位置。off表示偏移量,正數(shù)向結(jié)尾移動(dòng),負(fù)數(shù)向開頭移動(dòng)。where為0表示起始位置開始,1表示當(dāng)前位置,2表示結(jié)尾位置。
1.5,常用的模式
2,上下文管理器
2.1,讓文件自己關(guān)閉
- 在操作文件后容易忘記使用close方法關(guān)閉文件,有什么方法能讓文件自己關(guān)閉?
- 使用with語句
with open(file_name,mode,encoding) as f:
# 文件操作語句
- 不需要手動(dòng)關(guān)閉
2.2,上下文管理器
- with為上下文管理器
- 上下文管理器是指在一段代碼執(zhí)行之前執(zhí)行一段代碼,用于一些預(yù)處理工作;執(zhí)行之后再執(zhí)行一段代碼,用于一些清理工作。
- 在上下文管理器協(xié)議中,有兩個(gè)方法__enter__和__exit__,分別實(shí)現(xiàn)預(yù)處理和清理功能。
- 使用上下文管理器操作文件可以在操作結(jié)束后自動(dòng)關(guān)閉文件。
Python
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。