天天看點

python讀取壓縮檔案時亂碼,zipfile解壓縮包,出現中文亂碼問題問題

python讀取壓縮檔案時亂碼,zipfile解壓縮包,出現中文亂碼問題問題

問題描述——python 使用zipfile子產品 讀取并且解壓縮包,出現中文亂碼問題

python讀取壓縮檔案時亂碼,zipfile解壓縮包,出現中文亂碼問題問題

問題原因

python 使用這個子產品讀取的檔案裡面出現了中文 導緻的亂碼 ,是以最好不要有中文,否則容易出亂碼。

python讀取壓縮檔案時亂碼,zipfile解壓縮包,出現中文亂碼問題問題
python讀取壓縮檔案時亂碼,zipfile解壓縮包,出現中文亂碼問題問題

檔案夾的名字都是中文的名字是以導緻的亂碼

解決方法

處理壓縮包裡的中文 導緻的亂碼,是以要在後面加上面編碼格式處理的代碼

下面就是編碼格式處理的代碼

.encode('cp437').decode('gbk')      
python讀取壓縮檔案時亂碼,zipfile解壓縮包,出現中文亂碼問題問題

加入上面代碼後就沒有亂碼了

下面是使用代碼擷取,壓縮前後檔案的大小

import zipfile
with zipfile.ZipFile('zeng.zip', 'r') as zipobj:
    for file_name in zipobj.namelist():
        info = zipobj.getinfo(file_name)
        file_name = file_name.encode('cp437').decode('gbk')
        print(file_name, info.file_size, info.compress_size)