python 編程語言在操作文件編碼格式的應(yīng)用
本文主要是對(duì)python 編程語言操作不同文件的編碼格式的文件時(shí),所需用到的相關(guān)實(shí)際應(yīng)用方案的介紹,以及python 編程語言的相關(guān)代碼的示例,以下就是文章的相關(guān)內(nèi)容的具體介紹。
建立一個(gè)文件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格式時(shí),運(yùn)行時(shí)報(bào)錯(cuò):
- 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,在保存一個(gè)以UTF-8編碼的文件時(shí),會(huì)在文件開始的地方插入三個(gè)不可見的字符(0xEF 0xBB 0xBF,即BOM)。因此我們?cè)谧x取時(shí)需要自己去掉這些字符,python中的codecs module定義了這個(gè)常量:
- # coding=gbk
- import codecs
- data = open("Test.txt").read()
- if data[:3] == codecs.BOM_UTF8:
- datadata = data[3:]
- print data.decode("utf-8")
結(jié)果:abc中文以上的文章就是對(duì) python 編程語言操作不同文件的編碼格式的文件的實(shí)際操作步驟介紹。
【編輯推薦】



















