码迷,mamicode.com
首页 > 编程语言 > 详细

python-----自动解压并删除zip文件

时间:2019-01-23 17:16:17      阅读:277      评论:0      收藏:0      [点我收藏+]

标签:str   执行   return   压缩文件   coding   使用   多少   处理   file   

如何自动解压并删除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)

 

python-----自动解压并删除zip文件

标签:str   执行   return   压缩文件   coding   使用   多少   处理   file   

原文地址:https://www.cnblogs.com/xiaodai0/p/10309233.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!