新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
利用Python如何實現(xiàn)在后臺解壓或壓縮文件-創(chuàng)新互聯(lián)
利用Python如何實現(xiàn)在后臺解壓或壓縮文件?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

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)
網(wǎng)站標題:利用Python如何實現(xiàn)在后臺解壓或壓縮文件-創(chuàng)新互聯(lián)
本文來源:http://www.dlmjj.cn/article/cdhsph.html


咨詢
建站咨詢
