課程內(nèi)容
Python入門課程N(yùn)O66課 文件的讀寫操作
在Python中可以通過內(nèi)置的open函數(shù)來對文件進(jìn)行讀寫操作。open(file, mode, buffering, encoding,errors)。
file 對應(yīng)的是文件的路徑名,mode 對應(yīng)的是文件的打開模式,buffering對應(yīng)的是文件緩沖,encoding對應(yīng)的是文件數(shù)據(jù)流的編碼, errors表示的是對文件的讀寫過程中出現(xiàn)了編碼問題時,該以什么樣的方式進(jìn)行處理。在通過open函數(shù)對文件進(jìn)行讀寫操作前,我們需要先掌握文件的打開模式。
文件的打開模式:
"r","w","a"模式可以與"b","t"模式進(jìn)行組合。
讀寫混合模式:"r+","w+","a+"
r+模式 "r+"表示"r"模式與"a"模式的混合,使用"r+"模式打開文件時,文件必須已存在,每次執(zhí)行寫操作的時候都是往文件尾部進(jìn)行寫入。
w+模式 "w+"是"w"模式與"r"模式的混合,同"w"模式,如果文件已存在會清空文件內(nèi)容,文件不存在時會創(chuàng)建文件。
a+模式 "a+"是追加模式與讀模式的混合,如果文件已存在會立即定位到文件尾部,文件不存在時會創(chuàng)建文件。
對文件進(jìn)行寫操作:通過文件流對象的write方法來對文件進(jìn)行寫操作。對文件進(jìn)行寫操作,使用的是w模式。
file_stream.write(text):形參text表示寫入文件的內(nèi)容,text必須是一個字符串類型。返回值為寫入的字符數(shù)。可以在文件中寫入多行,在數(shù)據(jù)后面加換行符'\n'表示一行。
file_stream.writelines(lines):這里的lines既可以是字符串類型,也可以是序列類型,如果是序列類型,元素必須是字符串。在writelines方法中,同樣得手動地在字符串后面加上換行符,以表示一行。writelines方法沒有返回值。
對文件進(jìn)行讀操作:
對文件進(jìn)行寫操作以后,可以再通過read方法來讀取文件中的內(nèi)容。對文件進(jìn)行讀操作時使用的r模式。
file_stream.read(count):這里的count表示讀取文件中的多少個字符,可以不傳遞,不傳值時,Python會盡可能地讀取文件中的所有數(shù)據(jù)。
file_stream.readlines():readlines方法用來讀取文件中的所有行,返回值為一個列表類型。
在執(zhí)行open方法獲取文件流對象以后,可以直接使用for循環(huán)來對文件流對象進(jìn)行逐行讀取。

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