這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)python編程語言在操作文件編碼格式的應(yīng)用過程,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比瑞昌網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式瑞昌網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋瑞昌地區(qū)。費用合理售后完善,10年實體公司更值得信賴。
建立一個文件test.txt,文件格式用ANSI,內(nèi)容為:abc中文用python來讀取
# coding=gbk print open("Test.txt").read()
結(jié)果:abc中文把文件格式改成UTF-8:顯然,這里需要解碼:
# coding=gbk import codecs print open("Test.txt").read().decode("utf-8")
結(jié)果:abc中文上面的test.txt我是用Editplus來編輯的,但當(dāng)我用Windows自帶的記事本編輯并存成UTF-8格式時,運行時報錯:
Traceback (most recent call last):
File "ChineseTest.py", line 3, in
print open("Test.txt").read().decode("utf-8")
UnicodeEncodeError: 'gbk' codec can't encode
character u'\ufeff' in position 0: illegal multibyte
sequence
原來,某些軟件,如notepad,在保存一個以UTF-8編碼的文件時,會在文件開始的地方插入三個不可見的字符(0xEF 0xBB 0xBF,即BOM)。因此我們在讀取時需要自己去掉這些字符,python中的codecs module定義了這個常量:
# coding=gbk import codecs data = open("Test.txt").read() if data[:3] == codecs.BOM_UTF8: datadata = data[3:] print data.decode("utf-8")
上述就是小編為大家分享的python編程語言在操作文件編碼格式的應(yīng)用過程了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。