• 技术文章 >Python技术 >Python基础教程

    如何使用Python实现文件压缩?

    十一十一2020-11-16 15:50:14原创2147
    相信大家都知道“快压”吧,有没有小伙伴跟小编一样,超级痛恨这个流氓软件,不仅软件卸载不掉,还添加大量的广告以及垃圾信息,瞬间让自己感觉电脑被“注入病毒”的感觉,不仅让自己的文件没有办法处理,还给心里添上压缩软件都是流氓的标签,然而大家现在不用担心了,因为我们学习的python可以教我们压缩文件,一起来看下吧~

    需要使用模块:

    l os 模块综合应用

    l glob 模块综合应用

    l 利用 gzip zipfile rarfile tarfile 模块解压文件

    提到压缩文件就要分不同压缩格式进行讨论,主要有以下4种:

    l .gz: 即gzip,通常只能压缩一个文件

    l .zip: 和.tar.gz很类似但可以打包压缩多个文件

    实现代码:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    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)

    for i in filename_lst:

        if '.' in i:

            # 获取后缀名

            suffix = i.split('.')[-1]

            # 逐个将后缀名和各格式的压缩后缀匹配

            if suffix == 'gz':

                pass

                if ...: # 再次判断新产生的文件名是否以 .tar 结尾

                    pass

            if suffix == 'tar':

                pass

            if suffix == 'zip':

                pass

            if suffix == 'rar':

                Pass

    处理.zip文件

    1

    2

    3

    4

    5

    6

    7

    8

    9

    import zipfile

    def unzip(filename):

        zip_file = zipfile.ZipFile(filename)

        # 类似tar解除打包,建立文件夹存放解压的多个文件

        if not os.path.isdir(filename + "_dir"):

            os.mkdir(filename + "_dir")

        for names in zip_file.namelist():

            zip_file.extract(names, filename + "_dir/")

    zip_file.close()

    大家如果在遇到需要将文件进行压缩的,就可以直接套用小编的这种方式哦~以后大家不必担心压缩软件给予的流氓问题了,还是古话说的对,“自己动手,丰衣足食”。

    专题推荐:python实现文件压缩
    上一篇:python tkinter如何获取label内容? 下一篇:什么是Python的回调函数?

    相关文章推荐

    • python中loc函数的用法是什么?• python tkinter如何获取label内容?

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网