最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python自動化文件處理之如何批量壓縮和解壓文件

 更新時間:2025年09月04日 09:44:14   作者:Python資訊站  
處理大量文件時,手動一個個壓縮解壓太費勁啦,Python就能幫咱們搞定這事,咱今天就說說咋用Python實現(xiàn)文件的批量壓縮和解壓,絕對能幫你省不少時間

1.準(zhǔn)備工作

在開始之前得先裝個"zipfile"模塊,不過這玩意是Python內(nèi)置的,不用額外安裝。它就是咱們今天的主角,負(fù)責(zé)文件壓縮解壓的全部操作。

import zipfile
import os
from pathlib import Path

2.批量壓縮文件

壓縮文件說復(fù)雜也不復(fù)雜,說簡單也不簡單。咱們寫個函數(shù),把指定文件夾里的文件都打包成zip:

def batch\_zip\_files(folder\_path, zip\_name):
# 創(chuàng)建一個zip文件
with zipfile.ZipFile(zip\_name, 'w') as zip\_file:
# 遍歷文件夾
for root, dirs, files in os.walk(folder\_path):
for file in files:file\_path = os.path.join(root, file)
# 把文件添加到zip中
zip\_file.write(file\_path, os.path.relpath(file\_path, folder\_path))
\# 使用方法
batch\_zip\_files('要壓縮的文件夾', '壓縮包名稱.zip')

溫馨提示:壓縮前最好檢查下磁盤空間夠不夠

3.批量解壓文件

解壓比壓縮還簡單,寫個函數(shù)輕松搞定一堆zip文件:

def batch\_unzip\_files(zip\_folder, extract\_folder):
# 獲取所有zip文件
zip\_files = Path(zip\_folder).glob('\*.zip')
for zip\_path in zip\_files:
with zipfile.ZipFile(zip\_path, 'r') as zip\_file:
# 解壓到指定目錄
zip\_file.extractall(path=os.path.join(extract\_folder, zip\_path.stem))
\# 使用方法
batch\_unzip\_files('存放zip的文件夾', '解壓目標(biāo)文件夾')

4.加點高級功能

咱們還能給壓縮文件加個密碼,防止文件被隨便看到:

def secure\_zip\_files(folder\_path, zip\_name, password):
with zipfile.ZipFile(zip\_name, 'w', zipfile.ZIP\_DEFLATED) as zip\_file:
for root, dirs, files in os.walk(folder\_path):
for file in files:
file\_path = os.path.join(root, file)
zip\_file.write(file\_path,os.path.relpath(file\_path, folder\_path),pwd=password.encode())
\# 使用方法
secure\_zip\_files('要壓縮的文件夾', '加密壓縮包.zip', '你的密碼')

解壓帶密碼的zip文件也很容易:

def extract\_secure\_zip(zip\_path, extract\_folder, password):
with zipfile.ZipFile(zip\_path, 'r') as zip\_file:
zip\_file.extractall(
path=extract\_folder,
pwd=password.encode())
\# 使用方法
extract\_secure\_zip('加密壓縮包.zip', '解壓目標(biāo)文件夾', '你的密碼')

5.實用小貼士

寫代碼的時候記得加上錯誤處理,要不遇到問題程序就崩潰了:

def safe\_zip\_files(folder\_path, zip\_name):
try:with zipfile.ZipFile(zip\_name, 'w') as zip\_file:
for root, dirs, files in os.walk(folder\_path):
for file in files:
try:file\_path = os.path.join(root, file)zip\_file.write(file\_path)except Exception as e:
print(f'壓縮{file}失敗:{str(e)}')except Exception as e:
print(f'創(chuàng)建zip文件失?。簕str(e)}')

完整代碼示例:

import zipfile
import os
from pathlib import Path
def batch\_zip\_files(folder\_path, zip\_name):
with zipfile.ZipFile(zip\_name, 'w') as zip\_file:
for root, dirs, files in os.walk(folder\_path):
for file in files:file\_path = os.path.join(root, file)
zip\_file.write(file\_path, os.path.relpath(file\_path, folder\_path))
def batch\_unzip\_files(zip\_folder, extract\_folder):
zip\_files = Path(zip\_folder).glob('\*.zip')
for zip\_path in zip\_files: 
with zipfile.ZipFile(zip\_path, 'r') as zip\_file:
zip\_file.extractall(path=os.path.join(extract\_folder, zip\_path.stem))
def secure\_zip\_files(folder\_path, zip\_name, password):
with zipfile.ZipFile(zip\_name, 'w', zipfile.ZIP\_DEFLATED) as zip\_file:
for root, dirs, files in os.walk(folder\_path):
for file in files:file\_path = os.path.join(root, file)
zip\_file.write(file\_path,os.path.relpath(file\_path, folder\_path),pwd=password.encode())
def extract\_secure\_zip(zip\_path, extract\_folder, password):
with zipfile.ZipFile(zip\_path, 'r') as zip\_file:
zip\_file.extractall(
path=extract\_folder,
pwd=password.encode())
\# 測試代碼
folder\_to\_zip = '要壓縮的文件夾'
zip\_file\_name = '壓縮包.zip'
extract\_folder = '解壓目標(biāo)文件夾'
password = '你的密碼'
batch\_zip\_files(folder\_to\_zip, zip\_file\_name)
batch\_unzip\_files(os.path.dirname(zip\_file\_name), extract\_folder)
secure\_zip\_files(folder\_to\_zip, 'secure\_' + zip\_file\_name, password)
extract\_secure\_zip('secure\_' + zip\_file\_name, extract\_folder, password)

把這段代碼復(fù)制到你的編輯器里,改下文件路徑就能用啦!記得創(chuàng)建好相關(guān)文件夾,不然代碼會報錯。

到此這篇關(guān)于Python自動化文件處理之如何批量壓縮和解壓文件的文章就介紹到這了,更多相關(guān)Python壓縮和解壓文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python中dropna()函數(shù)的作用舉例說明

    python中dropna()函數(shù)的作用舉例說明

    這篇文章主要給大家介紹了關(guān)于python中dropna()函數(shù)的相關(guān)資料,dropna()是pandas庫中的一個函數(shù),用于刪除DataFrame中的缺失值,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-11-11
  • 解決Python運算符重載的問題

    解決Python運算符重載的問題

    這篇文章主要介紹了解決Python運算符重載的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • 基于OpenCV實現(xiàn)視頻循環(huán)播放

    基于OpenCV實現(xiàn)視頻循環(huán)播放

    這篇文章主要為大家介紹了如何利用OpenCV實現(xiàn)視頻的循環(huán)播放,本文為大家提供了兩種方式,一個是利用Python語言實現(xiàn),一個是利用C++語言實現(xiàn),需要的可以參考一下
    2022-02-02
  • 手把手帶你了解Python數(shù)據(jù)分析--matplotlib

    手把手帶你了解Python數(shù)據(jù)分析--matplotlib

    這篇文章主要介紹了Python實現(xiàn)matplotlib顯示中文的方法,結(jié)合實例形式詳細(xì)總結(jié)分析了Python使用matplotlib庫繪圖時顯示中文的相關(guān)操作技巧與注意事項,需要的朋友可以參考下
    2021-08-08
  • Python如何讀取PDF文檔(或TXT)

    Python如何讀取PDF文檔(或TXT)

    這篇文章主要介紹了Python如何讀取PDF文檔(或TXT),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • 詳解如何利用PDoc生成Python文檔

    詳解如何利用PDoc生成Python文檔

    PDoc?是一個強大的?Python?文檔生成工具,它通過解析?Python?代碼中的注釋和類型注解,自動生成格式規(guī)范、內(nèi)容豐富的文檔,下面我們就來看看它的具體使用吧
    2024-11-11
  • python畫圖常見不同圖片格式保存方式

    python畫圖常見不同圖片格式保存方式

    這篇文章主要介紹了python畫圖常見不同圖片格式保存方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • 使用python加密主機文件幾種方法實現(xiàn)

    使用python加密主機文件幾種方法實現(xiàn)

    本文主要介紹了使用python加密主機文件幾種方法實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • 純用NumPy實現(xiàn)神經(jīng)網(wǎng)絡(luò)的示例代碼

    純用NumPy實現(xiàn)神經(jīng)網(wǎng)絡(luò)的示例代碼

    這篇文章主要介紹了純用NumPy實現(xiàn)神經(jīng)網(wǎng)絡(luò)的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-10-10
  • python 提取key 為中文的json 串方法

    python 提取key 為中文的json 串方法

    今天小編就為大家分享一篇python 提取key 為中文的json 串方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12

最新評論

安西县| 哈巴河县| 杨浦区| 瑞安市| 门源| 淮阳县| 卢湾区| 陆川县| 紫阳县| 界首市| 江永县| 万州区| 吉隆县| 类乌齐县| 苏尼特右旗| 黎平县| 阜新| 峨山| 沙湾县| 凌海市| 镇赉县| 红安县| 商丘市| 土默特左旗| 峨山| 贵阳市| 巩义市| 德化县| 公主岭市| 竹溪县| 乐清市| 斗六市| 团风县| 奉化市| 和政县| 周口市| 朝阳市| 渝中区| 富阳市| 武定县| 韶关市|