在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java  Python  網(wǎng)絡(luò)安全  HTML/ python讀寫文件夾中編碼方式各異的文件

python讀寫文件夾中編碼方式各異的文件

現(xiàn)有需求如下:
遍歷一個(gè)文件夾中的所有文件,讀取文件內(nèi)容,對文件內(nèi)容進(jìn)行處理后,重新寫入文件中。
該文件夾下的文件編碼方式不統(tǒng)一,例如下圖所示:

clipboard.png

圖中,兩個(gè)文件的編碼,一個(gè)是ASCII,另一個(gè)是ISO-8859,且換行符還是CRLF風(fēng)格的(該文件中包含了中文注釋)

我嘗試直接用utf-8編碼方式讀取文件:with open(file, encoding='utf-8') as f,當(dāng)讀到那個(gè)272的file時(shí),會(huì)報(bào)錯(cuò):UnicodeDecodeError: 'utf-8' codec can't decode byte 0xbc in position 0: invalid start byte

也試過這樣:with codecs.open(file, encoding='utf-8') as f,但是仍然會(huì)報(bào)錯(cuò)。

請問有何好的處理辦法?

回答
編輯回答
命多硬

二進(jìn)制讀取字節(jié),然后根據(jù)不同的編碼再處理

import codecs
with codecs.open('Client.java','rb') as f:
    print f.read().decode('utf8')
    # print f.read().decode('gbk')
    # print f.read().decode('ASCII')
2018年2月8日 05:49
編輯回答
刮刮樂

全部不加編碼地讀進(jìn)來,然后判斷編碼,并轉(zhuǎn)成 utf-8

2018年5月24日 14:23