zoukankan      html  css  js  c++  java
  • python-----自动解压并删除zip文件

    如何自动解压并删除zip?

    • 如何解压  →  使用内置模块来实现(shutil.unpack_archive)
    • 如何删除zip  →  使用内置模块os来实现(os.remove)
    • 如何监测zip的出现  →  如何判断某文件是zip(s.split('.'[-1]) /  如何让函数每一秒都执行(while True)

    以下代码素材自取:链接:https://pan.baidu.com/s/1t6i5W0jATSdze3sPAe4sNg  提取码:0npb 

    import os
    import shutil
    import time
    
    def scan_file():
        for f in os.listdir(): #由于这里是当前路径,所以需要把这个代码文件和你要处理的文件放到同一个文件夹里
            if f.endswith('.zip'):
                return f
    
    def unzip_it(f):
        folder_name = f.split('.')[0]
        target_path = os.path.join('.',folder_name)
        os.makedirs(target_path)
        shutil.unpack_archive(f,target_path)
    
    def delete(f):
        os.remove(f)
        time.sleep(2)
    
    if __name__ == '__main__':
        while True:
            zip_file = scan_file()
            if zip_file:
                unzip_it(zip_file)
                delete(zip_file)
                time.sleep(3)

    以下代码素材自取:链接:https://pan.baidu.com/s/1PM9vl6LWjevuzqBHoglBzw  提取码:j0g4

    # 监测 image 文件夹,如果包含的文件大于等于 5 个,则将这些文件压缩到 archive1.zip 文件中,并删除这些文件。当再次监测到文件多于 5 个的时候,生成 archive2.zip 压缩包,以此类推。 
    
    # coding:utf-8
    from shutil import make_archive
    import os
    import time
    # 指定需要监测的文件夹
    image_path = './image'
    # 指定压缩包存放的文件夹
    output_path = './output'
    # 记录生成了多少个压缩包
    zip_count = 0
    # 利用while True使程序持续运行
    while True:
        files = os.listdir(image_path)
        # files变量中存储了路径下所有文件的文件名,len()函数可以获取list变量包含多少个元素
        # files_count即为路径下的文件数
        files_count = len(files)
        if files_count >= 5:
            zip_count = zip_count + 1
            # 指定压缩包的名称以及路径
            zip_name =  os.path.join(output_path, 'archive' + str(zip_count))
            # 压缩文件
            make_archive(zip_name, 'zip', image_path)
            # 删除压缩过的文件
            for f in files:
                os.remove(os.path.join(image_path, f))
        # 休眠1秒,达到每1秒监测一次的效果
        time.sleep(1)
  • 相关阅读:
    javascript重点笔记
    我的CSS架构
    排行榜妙用——CSS计数器
    回归基础从新认识——HTML+CSS
    前端开发工具(安装及常用技巧)——sublime text 3
    手机访问php环境移动端静态页面
    H5前端面试题及答案(2)
    H5前端面试题及答案(1)
    python笔记--学会使用Fiddler
    python进程/线程/协成
  • 原文地址:https://www.cnblogs.com/xiaodai0/p/10309233.html
Copyright © 2011-2022 走看看