十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
利用Python如何實(shí)現(xiàn)在后臺解壓或壓縮文件?相信很多沒有經(jīng)驗(yàn)的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
1.需求描述
編寫一個 Python 程序,每次下載壓縮包形式的文件后,自動將內(nèi)部文件解壓到當(dāng)前文件夾后將壓縮包刪除,通過本案例可以學(xué)到的知識點(diǎn):
2.步驟分析和前置知識
碼代碼之前需要將復(fù)雜問題解釋成多個明確的要求,即這個程序?qū)崿F(xiàn)的邏輯為:
提到壓縮文件就要分不同壓縮格式進(jìn)行討論,主要有以下4種:
.gz: 即 gzip,通常只能壓縮一個文件
.tar: 本質(zhì)上不是壓縮工具而是打包工具,可以跟 .gz 配合形成 .tar.gz 的打包壓縮格式 .zip: 和 .tar.gz 很類似但可以打包壓縮多個文件
.rar: 打包壓縮文件,最初用于 DOS
因此,文件是否為壓縮文件的判斷邏輯可以如下:
不同壓縮文件的解壓代碼各不相同,在后續(xù)代碼操作中具體展開。
3.代碼實(shí)現(xiàn)
首先是獲取 download 文件夾下所有文件的文件名
import glob import os path = r'C:\xxxx\download' file_lst = glob.glob(path + '/*') # 列表推導(dǎo)式 filename_lst = [os.path.basename(i) for i in file_lst] print(filename_lst)