課程內(nèi)容
Python入門課程N(yùn)O66課 文件的讀寫操作
在Python中可以通過(guò)內(nèi)置的open函數(shù)來(lái)對(duì)文件進(jìn)行讀寫操作。open(file, mode, buffering, encoding,errors)。
file 對(duì)應(yīng)的是文件的路徑名,mode 對(duì)應(yīng)的是文件的打開模式,buffering對(duì)應(yīng)的是文件緩沖,encoding對(duì)應(yīng)的是文件數(shù)據(jù)流的編碼, errors表示的是對(duì)文件的讀寫過(guò)程中出現(xiàn)了編碼問題時(shí),該以什么樣的方式進(jìn)行處理。在通過(guò)open函數(shù)對(duì)文件進(jìn)行讀寫操作前,我們需要先掌握文件的打開模式。
文件的打開模式:

"r","w","a"模式可以與"b","t"模式進(jìn)行組合。
讀寫混合模式:"r+","w+","a+"
r+模式 "r+"表示"r"模式與"a"模式的混合,使用"r+"模式打開文件時(shí),文件必須已存在,每次執(zhí)行寫操作的時(shí)候都是往文件尾部進(jìn)行寫入。
w+模式 "w+"是"w"模式與"r"模式的混合,同"w"模式,如果文件已存在會(huì)清空文件內(nèi)容,文件不存在時(shí)會(huì)創(chuàng)建文件。
a+模式 "a+"是追加模式與讀模式的混合,如果文件已存在會(huì)立即定位到文件尾部,文件不存在時(shí)會(huì)創(chuàng)建文件。
對(duì)文件進(jìn)行寫操作:通過(guò)文件流對(duì)象的write方法來(lái)對(duì)文件進(jìn)行寫操作。對(duì)文件進(jìn)行寫操作,使用的是w模式。
file_stream.write(text):形參text表示寫入文件的內(nèi)容,text必須是一個(gè)字符串類型。返回值為寫入的字符數(shù)。可以在文件中寫入多行,在數(shù)據(jù)后面加換行符'\n'表示一行。
file_stream.writelines(lines):這里的lines既可以是字符串類型,也可以是序列類型,如果是序列類型,元素必須是字符串。在writelines方法中,同樣得手動(dòng)地在字符串后面加上換行符,以表示一行。writelines方法沒有返回值。

對(duì)文件進(jìn)行讀操作:
對(duì)文件進(jìn)行寫操作以后,可以再通過(guò)read方法來(lái)讀取文件中的內(nèi)容。對(duì)文件進(jìn)行讀操作時(shí)使用的r模式。
file_stream.read(count):這里的count表示讀取文件中的多少個(gè)字符,可以不傳遞,不傳值時(shí),Python會(huì)盡可能地讀取文件中的所有數(shù)據(jù)。
file_stream.readlines():readlines方法用來(lái)讀取文件中的所有行,返回值為一個(gè)列表類型。

在執(zhí)行open方法獲取文件流對(duì)象以后,可以直接使用for循環(huán)來(lái)對(duì)文件流對(duì)象進(jìn)行逐行讀取。
- 上一篇
Python入門課程N(yùn)O65課 計(jì)算機(jī)文件基礎(chǔ)知識(shí)
計(jì)算機(jī)文件存儲(chǔ)在硬盤上,要找到這個(gè)文件,必須知道它的文件名以及存儲(chǔ)路徑。計(jì)算機(jī)文件按其存儲(chǔ)類型可分為文本文件和二進(jìn)制文件,例如用記事本保存的文件是一種文本文件,而圖片,音視頻等則是二進(jìn)制文件。關(guān)于文件的命名,路徑,以及文件的類型,會(huì)在接下來(lái)的內(nèi)容中進(jìn)行詳細(xì)
- 下一篇
Python入門課程N(yùn)O67課 文件的讀寫高級(jí)操作
文件的讀寫緩沖區(qū):文件的讀寫緩沖區(qū)對(duì)應(yīng)的是內(nèi)存中的一塊緩沖區(qū):在對(duì)文件執(zhí)行寫操作時(shí),會(huì)先將數(shù)據(jù)寫到這個(gè)緩沖區(qū),緩沖區(qū)寫滿以后再刷新到磁盤。在對(duì)文件執(zhí)行讀操作時(shí),會(huì)先將文件的一部分?jǐn)?shù)據(jù)預(yù)讀到這塊內(nèi)存緩沖區(qū),然后再?gòu)倪@塊緩沖區(qū)里進(jìn)行讀取。在內(nèi)存中進(jìn)行讀寫遠(yuǎn)快于
