国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Python解決Zipfile文件解壓中文亂碼

這篇具有很好參考價值的文章主要介紹了Python解決Zipfile文件解壓中文亂碼。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

Python解決Zipfile文件解壓中文亂碼

背景

在上一篇文章我們學習了如何在瀏覽器中下載文件:Selenium修改默認下載文件路徑,最后下載的文件是壓縮包的形式,我們想要分析數(shù)據(jù)就需要涉及到解壓文件,在這里我們使用Zipfile包來實現(xiàn)壓縮文件的解壓操作。這個過程中遇到一個比較麻煩的問題就是解壓的文件名包括中文,所以導(dǎo)致發(fā)生亂碼現(xiàn)象,于是這里分享一下怎么去處理亂碼問題。

中文亂碼問題

異常解壓

原目錄下文件為:20230118110026_645.zip

Python解決Zipfile文件解壓中文亂碼

執(zhí)行代碼-解壓文件:
import zipfile


def main():
    file_zip = zipfile.ZipFile('D:/CSDN/DataDownload/20230118110026_645.zip')
    # namelist()列表形式顯示壓縮文件”20230118110026_645.zip“中的所有文件名
    # for語句遍歷文件名
    for file in file_zip.namelist():
        # 解壓文件到指定路徑下“D:\CSDN\DataDownload”
        file_zip.extract(file, r'D:\CSDN\DataDownload')
    print('解壓完成')


main()

此時目錄下顯示內(nèi)容為文件名亂碼:
Python解決Zipfile文件解壓中文亂碼

問題分析以及解決方案

問題分析

zip標準中,對文件名的encoding用的不是unicode,而是系統(tǒng)的默認字符集;中文windows采用的GBK編碼,因此不是這種編碼方式則會出現(xiàn)中文亂碼的形式,在這里我們將源文件zipfile.py(這里我的路徑是在D:\Python\Python311\Lib目錄下)找到下面這兩個地方并且進行修改:

問題解決

filename = filename.encode("cp437").decode('gbk') 

Python解決Zipfile文件解壓中文亂碼

fname_str = fname_str.encode("cp437").decode('gbk')  # ---0211修改

Python解決Zipfile文件解壓中文亂碼
保存后,切換到程序頁面,再次執(zhí)行,此時文件名正常顯示,包括下級目錄皆正常:
Python解決Zipfile文件解壓中文亂碼

知識拓展

解壓完成后刪除原zip文件,節(jié)省內(nèi)存:

import os
import zipfile


def main():
    file_zip = zipfile.ZipFile('D:/CSDN/DataDownload/20230118110026_645.zip')
    # namelist()列表形式顯示壓縮文件”20230118110026_645.zip“中的所有文件名
    # for語句遍歷文件名
    for file in file_zip.namelist():
        # 解壓文件到指定路徑下“D:\CSDN\DataDownload”
        file_zip.extract(file, r'D:\CSDN\DataDownload')
    file_zip.close()
    # 刪除zip文件
    os.remove('D:/CSDN/DataDownload/20230118110026_645.zip')
    print('解壓完成')


main()

總結(jié)

有的時候出現(xiàn)問題后,往往是我們把問題想的太復(fù)雜,甚至想通過自己寫方法去轉(zhuǎn)譯,當然如果能寫出來最好,但對于初學者,能簡單快速的解決問題不僅能給我們自信,還可以幫助我們積累解決問題的經(jīng)驗。文章來源地址http://www.zghlxwxcb.cn/news/detail-431353.html

到了這里,關(guān)于Python解決Zipfile文件解壓中文亂碼的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Python ZIpFile 解惑:GBK 編碼與亂碼現(xiàn)象

    項目 描述 維基百科 ZIP 格式 Python 官方文檔 zipfile - 使用ZIP存檔 搜索引擎 Google 、 Bing Zip 文件格式規(guī)范 APPNOTE.TXT 維基百科 首頁 百度百科 首頁 項目 描述 Python 3.10.6 操作系統(tǒng) Windows 10 專業(yè)版(x86-64) 壓縮軟件 360壓縮(4.0.0.1460) 本部分內(nèi)容為鋪墊內(nèi)容,除 “亂碼現(xiàn)象” 為必看

    2024年02月01日
    瀏覽(17)
  • 解決idea文件properties中文亂碼問題

    解決idea文件properties中文亂碼問題

    有時候?qū)㈨椖看a拉取至本地用idea打開時會出現(xiàn)中文亂碼問題,遇到這種問題不要慌,重新設(shè)置一下編碼為UTF-8即可。那么如何將idea的編碼統(tǒng)一設(shè)置為UTF-8格式呢?接下來我們一一解決此類問題 有時候會看到打開的文件已經(jīng)出現(xiàn)了亂碼問題,這時有的朋友就開始慌了,不要慌

    2024年02月11日
    瀏覽(18)
  • 解決打開 json 文件中文亂碼的問題

    解決打開 json 文件中文亂碼的問題

    ? 如下圖,pycharm 打開是下面的樣子 右下角的編碼嘗試了好久,依然打不開 用代碼打開就成功了 ?控制臺結(jié)果:

    2024年01月19日
    瀏覽(28)
  • 解決文件下載中文文件名亂碼的最佳實踐

    如果下載的文件名包含中文,有時瀏覽器可能無法正確顯示文件名,而會顯示亂碼或者一串數(shù)字和字母。這個問題可以通過設(shè)置 Content-Disposition 響應(yīng)頭的 filename 參數(shù)來解決,該參數(shù)可以指定要下載的文件名,并且支持URL編碼。 下面是一個示例代碼,演示了如何在Java Web中設(shè)置

    2024年02月08日
    瀏覽(87)
  • Java讀取properties文件中文亂碼(已解決)

    Java讀取properties文件中文亂碼(已解決)

    初用properties,讀取java properties文件的時候如果value是中文,會出現(xiàn) 亂碼 的問題。 在項目的默認路徑(src目錄)下創(chuàng)建 sk.properties 屬性文件(名稱可以自定義,擴展名必須為 properties )。 上面的程序執(zhí)行后的結(jié)果會出現(xiàn)中文亂碼,因為字節(jié)流是無法讀取中文的,所以采取read

    2024年02月11日
    瀏覽(27)
  • 解決DBeaver打開csv文件中文亂碼問題

    解決DBeaver打開csv文件中文亂碼問題

    ①將excel文件進行另存為,保存類型選擇【CSV UTF-8】 ②之后在DBeaver進行數(shù)據(jù)導(dǎo)入,選擇【導(dǎo)入數(shù)據(jù)——選擇csv文件——將編碼類型手動改為UTF-8】 ③選擇下一步,若【表映射——預(yù)覽數(shù)據(jù)】中沒有出現(xiàn)亂碼。大概率會導(dǎo)入成功。 ④若導(dǎo)入完成后,只展示了表結(jié)構(gòu)而沒有具體

    2024年01月18日
    瀏覽(41)
  • 完全解決FTP上傳文件名稱中文亂碼問題

    完全解決FTP上傳文件名稱中文亂碼問題

    今天項目上加了個定時掃描本地文件路徑下所有文件實現(xiàn)自動上傳至ftp文件服務(wù)器的功能,經(jīng)測試發(fā)現(xiàn)一旦上傳中文名稱的文件就會亂碼或者文件上傳不了。初步排查就是FTP服務(wù)器字符編碼的問題。在網(wǎng)上查了很多資料都沒有效果。在這里講一下我踩過的坑,以及分享我能上

    2024年02月13日
    瀏覽(23)
  • Java下載excel文件名中文亂碼解決

    我是一名充滿激情的程序員,??希望和大家一起學習進步!我熱愛編程,對技術(shù)充滿好奇心和求知欲! ???無論你是新手還是老手,都能從我的博客中獲得有價值的內(nèi)容! ??讓我們一起努力,成為更優(yōu)秀的程序員吧!???? 當使用Java下載Excel文件時,有時會遇到文件名中

    2024年02月07日
    瀏覽(87)
  • 用VSCode打開文件出現(xiàn)中文亂碼的解決辦法

    用VSCode打開文件出現(xiàn)中文亂碼的解決辦法

    在使用VScode過程中,用其他編輯器寫好的文件通過VSCode打開,如果有中文,可能會有亂碼現(xiàn)象。(可能有其他原因,多試幾次找到最佳方法) 下面有兩種解決辦法。 點擊右下角中的“UTF-8”,選擇“Reopon with Encoding(通過編碼重新打開)”,輸入“GB 2312”,選擇“Simplified

    2024年02月12日
    瀏覽(20)
  • Java文件下載中文文件名亂碼的解決方案

    ??大家好,我是愛編程的喵喵。雙985碩士畢業(yè),現(xiàn)擔任全棧工程師一職,熱衷于將數(shù)據(jù)思維應(yīng)用到工作與生活中。從事機器學習以及相關(guān)的前后端開發(fā)工作。曾在阿里云、科大訊飛、CCF等比賽獲得多次Top名次。現(xiàn)為CSDN博客專家、人工智能領(lǐng)域優(yōu)質(zhì)創(chuàng)作者。喜歡通過博客創(chuàng)作

    2024年02月13日
    瀏覽(95)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包