利用Python如何實現(xiàn)在后臺解壓或壓縮文件?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

創(chuàng)新互聯(lián)建站是專業(yè)的南靖網(wǎng)站建設公司,南靖接單;提供
網(wǎng)站設計、做網(wǎng)站,網(wǎng)頁設計,網(wǎng)站設計,建網(wǎng)站,PHP網(wǎng)站建設等專業(yè)做網(wǎng)站服務;采用PHP框架,可快速的進行南靖網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
1.需求描述
編寫一個 Python 程序,每次下載壓縮包形式的文件后,自動將內部文件解壓到當前文件夾后將壓縮包刪除,通過本案例可以學到的知識點:
- os 模塊綜合應用
- glob 模塊綜合應用
- 利用 gzip zipfile rarfile tarfile 模塊解壓文件
2.步驟分析和前置知識
碼代碼之前需要將復雜問題解釋成多個明確的要求,即這個程序實現(xiàn)的邏輯為:
- 定時檢測某個文件夾(如 download 文件夾)是否存在壓縮文件
- 如果有新出現(xiàn)的壓縮文件則將其解壓到當前文件夾內的新文件夾中 刪除壓縮文件
- 提到壓縮文件就要分不同壓縮格式進行討論,主要有以下4種:
提到壓縮文件就要分不同壓縮格式進行討論,主要有以下4種:
.gz: 即 gzip,通常只能壓縮一個文件
.tar: 本質上不是壓縮工具而是打包工具,可以跟 .gz 配合形成 .tar.gz 的打包壓縮格式 .zip: 和 .tar.gz 很類似但可以打包壓縮多個文件
.rar: 打包壓縮文件,最初用于 DOS
因此,文件是否為壓縮文件的判斷邏輯可以如下:
- 建立一個含壓縮包后綴的列表 compressed_lst = ['gz', 'tar', 'zip', 'rar']
- 目標文件夾下的所有文件名運行 filename.split(.)[-1] 獲取后綴名
- 判斷后綴名是否在 compressed_lst 中,如果存在則運行后續(xù)的解壓代碼
- 如果是以 gz 結尾的文件,解壓后需要再次判斷是否是以 .tar 結尾,并進行相應處理
不同壓縮文件的解壓代碼各不相同,在后續(xù)代碼操作中具體展開。
3.代碼實現(xiàn)
首先是獲取 download 文件夾下所有文件的文件名
import glob
import os
path = r'C:\xxxx\download'
file_lst = glob.glob(path + '/*')
# 列表推導式
filename_lst = [os.path.basename(i) for i in file_lst]
print(filename_lst)
新聞標題:利用Python如何實現(xiàn)在后臺解壓或壓縮文件-創(chuàng)新互聯(lián)
文章URL:
http://weahome.cn/article/cdhsph.html