Python3文件
open()方法
Python open()方法永于打開(kāi)一個(gè)文件,并返回文件對(duì)象,并對(duì)文件進(jìn)行處理過(guò)程中都需要用到這個(gè)方法,如果該文件無(wú)法被打開(kāi),則拋出OSError
注意:使用open()方法一定要保證關(guān)閉文件對(duì)象,即調(diào)用close()方法。
open()函數(shù)常用形式就是接受兩個(gè)參數(shù):文件名和模式。
open(file,mode=’r’)
完整語(yǔ)法格式為:
open(file,mode=’r’,buffering=-1,ecoding=None,errors=None,newline=None,closed=True,opener=None)
參數(shù)說(shuō)明:
file:??????????????? 必需,文件路徑(或者相對(duì)路徑)
mode:?????????? 可選,文件打開(kāi)模式
buffering:????? 設(shè)置緩沖
encoding:????? 一般使用utf8
errors:?????????? 報(bào)錯(cuò)級(jí)別
newline:??????? 區(qū)分換行符
closed:?????????? 傳入file參數(shù)類(lèi)型
opener:
?
mode參數(shù)有:
| 模式 | 描述 |
| t | 文本模式 |
| x | 寫(xiě)模式,新建一個(gè)文件,如果該文件已存在則報(bào)錯(cuò) |
| b | 二進(jìn)制模式 |
| + | 打開(kāi)一個(gè)文件進(jìn)行更新 |
| U | 通用換行模式(Python3不支持) |
| r | 以只讀的方法打開(kāi)文件,文件的指針將會(huì)放在文件的開(kāi)頭,這是默認(rèn)模式 |
| rb | 以二進(jìn)制格式打開(kāi)一個(gè)文件用于只讀。文件指針將會(huì)放在文件的開(kāi)頭,這是默認(rèn)模式,一般用于非文本文件如圖片等 |
| r+ | 打開(kāi)一個(gè)文件用于讀寫(xiě),文件指針將位于 文件的開(kāi)頭 |
| rb+ | 以二進(jìn)制格式打開(kāi)一個(gè)文件用于讀寫(xiě)。文件指針將放在文件的開(kāi)頭。一般用于非文本文件如圖片 |
| w | 打開(kāi)一個(gè)文件只用于寫(xiě)入。如果該文件已存在則打開(kāi)文件,并從頭開(kāi)始編輯,即原有的內(nèi)容會(huì)被刪除,即原有內(nèi)容會(huì)被刪除,如果該文件不存在則創(chuàng)建 |
| wb | 以為二進(jìn)制格式打開(kāi)一個(gè)文件只用于寫(xiě)入。如果該文件已存在則打開(kāi)文件,并從頭開(kāi)始編輯,即原有的內(nèi)容會(huì)被刪除,即原有內(nèi)容會(huì)被刪除,如果該文件不存在則創(chuàng)建 |
| w+ | 打開(kāi)一個(gè)文件只用于寫(xiě)入。如果該文件已存在則打開(kāi)文件,并從頭開(kāi)始編輯,即原有的內(nèi)容會(huì)被刪除,即原有內(nèi)容會(huì)被刪除,如果該文件不存在則創(chuàng)建,一般用于非文本文件如圖片。 |
| wb+ | 以二進(jìn)制打開(kāi)一個(gè)文件只用于寫(xiě)入。如果該文件已存在則打開(kāi)文件,并從頭開(kāi)始編輯,即原有的內(nèi)容會(huì)被刪除,即原有內(nèi)容會(huì)被刪除,如果該文件不存在則創(chuàng)建,一般用于非文本文件如圖片。 |
| a | 打開(kāi)一個(gè)文件用于追加,如果該文件已存在,文件指針將放在文件尾部。也就是說(shuō)新的內(nèi)容將被寫(xiě)入到已有內(nèi)容之后,如果該文件不存在,創(chuàng)建新的文件進(jìn)行寫(xiě)入。 |
| ab | 以二進(jìn)制格式打開(kāi)一個(gè)文件用于追加,如果該文件已存在,文件指針將放在文件尾部。也就是說(shuō)新的內(nèi)容將被寫(xiě)入到已有內(nèi)容之后,如果該文件不存在,創(chuàng)建新的文件進(jìn)行寫(xiě)入。 |
| a+ | 打開(kāi)一個(gè)文件用于讀寫(xiě),如果該文件已存在,文件指針將放在文件尾部。也就是說(shuō)新的內(nèi)容將被寫(xiě)入到已有內(nèi)容之后,如果該文件不存在,創(chuàng)建新的文件進(jìn)行寫(xiě)入。 |
| ab+ | 以二進(jìn)制格式打開(kāi)一個(gè)文件用于追加,如果該文件已存在,文件指針將放在文件尾部。也就是說(shuō)新的內(nèi)容將被寫(xiě)入到已有內(nèi)容之后,如果該文件不存在,創(chuàng)建新的文件進(jìn)行寫(xiě)入。 |
默認(rèn)為文本格式,如果要以二進(jìn)制模式打開(kāi),加上b
?
file對(duì)象
file對(duì)象使用open函數(shù)來(lái)創(chuàng)建,下標(biāo)列出了file對(duì)象常用的函數(shù):
| 方法 | 描述 |
| file.close() | 關(guān)閉文件 |
| file.flush() | 刷新文件內(nèi)部緩存,直接把內(nèi)部緩沖的數(shù)據(jù)立即寫(xiě)入到文件中,而不是被動(dòng)等待輸出緩沖區(qū)寫(xiě)入 |
| file.fileno() | 返回一個(gè)整型的文件描述符,可以用在如os模塊的read()方法等一些底層操作上 |
| file.isatty() | 如果文件連接到一個(gè)終端設(shè)備返回true,否則返回false |
| file.next() | 返回文件下一行(python3不支持) |
| file.read() | 從文件讀取指定的字節(jié)數(shù),如果未給定或?yàn)樨?fù)則讀取所有 |
| file.readline() | 讀取整行,包括‘\n’ |
| file.readlines() | 讀取所有行并返回列表,若給定sizeint>0,返回總和大約為sizeint字節(jié)的行,實(shí)際讀取值可能要比sizeint較大,因?yàn)樾枰畛渚彌_區(qū) |
| file.seek() | 設(shè)置文件當(dāng)前位置 |
| file.tell() | 返回文件當(dāng)前位置 |
| file.truncate() | 從文件的首行首字符開(kāi)始截?cái)?#xff0c;截?cái)辔募閟ize個(gè)字符,無(wú)size表示從當(dāng)前位置截?cái)?#xff1b;截?cái)嘀蠛竺娴乃凶址粍h除,其中windows系統(tǒng)下?lián)Q行代表兩個(gè)字符大小。 |
| file.write() | 將字符串寫(xiě)入到文件,返回的是寫(xiě)入字符長(zhǎng)度 |
| file.writelines() | 向文件寫(xiě)入一個(gè)學(xué)列字符串列表,如果需要換行則需要自己加入每行的換行符。 |
| ? | ? |
轉(zhuǎn)載于:https://www.cnblogs.com/wanghao-boke/p/11510384.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
- 上一篇: 长虹电视看不到电视节目怎么调?
- 下一篇: Python3输入输出