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

Python文件的壓縮與解壓

 更新時(shí)間:2022年04月15日 13:48:47   作者:淺若清風(fēng)cyf?  
這篇文章主要介紹了Python文件的壓縮與解壓,Python進(jìn)行文件、文件夾壓縮與解壓,用到的是zipfile的第三方依賴庫(kù)。根據(jù)不同應(yīng)用場(chǎng)景封裝了幾個(gè)方法,下文相關(guān)內(nèi)容需要的小伙伴可以參考一下

前言:

Python在人工智能,后臺(tái)服務(wù)等領(lǐng)域中得到了廣泛應(yīng)用。由于python有著大量的第三方開(kāi)源包以及其易用的語(yǔ)言特性,這門(mén)語(yǔ)言在數(shù)據(jù)處理、批處理等方法具有強(qiáng)大的優(yōu)勢(shì),使用起來(lái)相當(dāng)便捷。本文為大家?guī)?lái)的是使用Python進(jìn)行文件、文件夾壓縮與解壓,用到的是zipfile的第三方依賴庫(kù)。根據(jù)不同應(yīng)用場(chǎng)景封裝了幾個(gè)方法,方便根據(jù)實(shí)際需要使用相應(yīng)的方法,能夠篩選出需要壓縮的文件。

安裝:

pip install zipfile

代碼:

1、壓縮整個(gè)文件夾

import zipfile
import os
from tqdm import tqdm

def zip_file(src_dir, save_name='default'):
    '''
    壓縮文件夾下所有文件及文件夾
    默認(rèn)壓縮文件名:文件夾名
    默認(rèn)壓縮文件路徑:文件夾上層目錄
    '''
    if save_name == 'default':
        zip_name = src_dir + '.zip'
    else:
        if save_name is None or save_name == '':
            zip_name = src_dir + '.zip'
        else:
            zip_name = save_name + '.zip'

    z = zipfile.ZipFile(zip_name, 'w', zipfile.ZIP_DEFLATED)
    for dirpath, dirnames, filenames in os.walk(src_dir):
        fpath = dirpath.replace(src_dir, '')
        fpath = fpath and fpath + os.sep or ''
        for filename in filenames:
            z.write(os.path.join(dirpath, filename), fpath + filename)
    z.close()
    return True

2、壓縮指定擴(kuò)展名文件

def zip_file_by_extension(src_dir, extension='dll', save_name='default'):
    '''
    根據(jù)文件擴(kuò)展名篩選需要壓縮的文件到壓縮包
    注:針對(duì)單層目錄情況,文件夾下的子文件不會(huì)被壓縮
    '''
    if save_name == 'default':
        zip_name = src_dir + '.zip'
    else:
        if save_name is None or save_name == '':
            zip_name = src_dir + '.zip'
        else:
            zip_name = save_name + '.zip'

    z = zipfile.ZipFile(zip_name, 'w', zipfile.ZIP_DEFLATED)
    file_list = os.listdir(src_dir)
    for filename in tqdm(file_list):
        if not os.path.isfile(os.path.join(src_dir, filename)):
            continue

        if filename.split('.')[-1] == extension:
            print(r'正在壓縮文件:', filename, end='')
            z.write(os.path.join(src_dir, filename), filename)
    z.close()
    return True

3、獲取指定類(lèi)型的待壓縮文件列表

def get_zip_file_list(src_dir, extension='dll'):
    '''
    獲取需要壓縮的文件列表
    '''
    file_list = os.listdir(src_dir)
    zip_list = []
    for filename in file_list:
        if not os.path.isfile(os.path.join(src_dir, filename)):
            continue

        if filename.split('.')[-1] == extension:
            zip_list.append(filename)
    print(zip_list)

4、解壓文件

def unzip_file(zip_src, dst_dir):
    '''
    解壓縮
    '''
    r = zipfile.is_zipfile(zip_src)
    if r:
        fz = zipfile.ZipFile(zip_src, 'r')
        for file in fz.namelist():
            fz.extract(file, dst_dir)
    else:
        print('This is not zip')
        return False
    return True

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

相關(guān)文章

  • Django中的session用法詳解

    Django中的session用法詳解

    這篇文章主要介紹了Django中的session用法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Python3 列表,數(shù)組,矩陣的相互轉(zhuǎn)換的方法示例

    Python3 列表,數(shù)組,矩陣的相互轉(zhuǎn)換的方法示例

    這篇文章主要介紹了Python3 列表,數(shù)組,矩陣的相互轉(zhuǎn)換的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • pandas中Series的代碼實(shí)例解析

    pandas中Series的代碼實(shí)例解析

    這篇文章主要介紹了pandas中Series的代碼實(shí)例解析,Series序列,是一種一維的結(jié)構(gòu),類(lèi)似于一維列表和ndarray中的一維數(shù)組,但是功能比他們要更為強(qiáng)大,Series由兩部分組成:索引index和數(shù)值values,需要的朋友可以參考下
    2023-07-07
  • 利用python?制作詞云特效詳情

    利用python?制作詞云特效詳情

    這篇文章主要介紹了利用python?制作詞云特效詳情,?詞云?也是數(shù)據(jù)可視化的一種形,根據(jù)關(guān)鍵詞的出現(xiàn)頻率而生成的一幅圖像,人們只要掃一眼就能夠明白其文章主旨,下文詳細(xì)介紹,需要的朋友可以參考一下
    2022-04-04
  • python實(shí)現(xiàn)秒殺商品的微信自動(dòng)提醒功能(代碼詳解)

    python實(shí)現(xiàn)秒殺商品的微信自動(dòng)提醒功能(代碼詳解)

    這篇文章主要介紹了python實(shí)現(xiàn)秒殺商品的微信自動(dòng)提醒功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-04-04
  • Python中線程的MQ消息隊(duì)列實(shí)現(xiàn)以及消息隊(duì)列的優(yōu)點(diǎn)解析

    Python中線程的MQ消息隊(duì)列實(shí)現(xiàn)以及消息隊(duì)列的優(yōu)點(diǎn)解析

    消息隊(duì)列(MQ,Message Queue)在消息數(shù)據(jù)傳輸中的保存作用為數(shù)據(jù)通信提供了保障和實(shí)時(shí)處理上的便利,這里我們就來(lái)看一下Python中線程的MQ消息隊(duì)列實(shí)現(xiàn)以及消息隊(duì)列的優(yōu)點(diǎn)解析
    2016-06-06
  • Python圖像處理庫(kù)PIL的ImageFilter模塊使用介紹

    Python圖像處理庫(kù)PIL的ImageFilter模塊使用介紹

    這篇文章主要介紹了Python圖像處理庫(kù)PIL的ImageFilter模塊使用介紹,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • python生成excel的實(shí)例代碼

    python生成excel的實(shí)例代碼

    這篇文章主要為大家詳細(xì)介紹了python生成excel的實(shí)例代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • PyQt5中向單元格添加控件的方法示例

    PyQt5中向單元格添加控件的方法示例

    這篇文章主要介紹了PyQt5中向單元格添加控件的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • Pyside2中嵌入Matplotlib的繪圖的實(shí)現(xiàn)

    Pyside2中嵌入Matplotlib的繪圖的實(shí)現(xiàn)

    這篇文章主要介紹了Pyside2中嵌入Matplotlib的繪圖的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02

最新評(píng)論

米林县| 贺兰县| 沁源县| 讷河市| 乳源| 北流市| 青阳县| 延津县| 奉贤区| 巧家县| 郎溪县| 桐城市| 政和县| 南京市| 巴林右旗| 岳阳市| 江川县| 黑龙江省| 勐海县| 休宁县| 晋城| 南木林县| 宁强县| 抚远县| 博爱县| 静乐县| 达日县| 闻喜县| 贵南县| 云阳县| 德阳市| 栾城县| 大同县| 苏尼特左旗| 青铜峡市| 台安县| 延川县| 会泽县| 平原县| 罗田县| 崇阳县|