python中的open函數(shù)可以通過(guò)在打開(kāi)文件時(shí)添加encoding參數(shù)來(lái)指定使用的編碼方式,encoding表示的是返回的數(shù)據(jù)采用何種編碼。
open()的函數(shù)原型:
open(file,mode=‘r',buffering=-1,encoding=None,errors=None,newline=None,closefd=True)
從官方文檔中我們可以看到open函數(shù)有很多的參數(shù),我們常用的是file,mode和encoding,對(duì)于其它的幾個(gè)參數(shù),平時(shí)不常用,也簡(jiǎn)單介紹一下。
buffering的可取值有0,1,>1三個(gè),0代表buffer關(guān)閉(只適用于二進(jìn)制模式),1代表linebuffer(只適用于文本模式),>1表示初始化的buffer大小;
encoding表示的是返回的數(shù)據(jù)采用何種編碼,一般采用utf8或者gbk;
errors的取值一般有strict,ignore,當(dāng)取strict的時(shí)候,字符編碼出現(xiàn)問(wèn)題的時(shí)候,會(huì)報(bào)錯(cuò),當(dāng)取ignore的時(shí)候,編碼出現(xiàn)問(wèn)題,程序會(huì)忽略而過(guò),繼續(xù)執(zhí)行下面的程序。
newline可以取的值有None,\n,\r,'',‘\r\n',用于區(qū)分換行符,但是這個(gè)參數(shù)只對(duì)文本模式有效;
closefd的取值,是與傳入的文件參數(shù)有關(guān),默認(rèn)情況下為True,傳入的file參數(shù)為文件的文件名,取值為False的時(shí)候,file只能是文件描述符,什么是文件描述符,就是一個(gè)非負(fù)整數(shù),在Unix內(nèi)核的系統(tǒng)中,打開(kāi)一個(gè)文件,便會(huì)返回一個(gè)文件描述符。
以上內(nèi)容為大家介紹了python中的open函數(shù)如何編碼?希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。