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)

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

时间: 2024-10-09 12:21:55

python-----自动解压并删除zip文件的相关文章

python项目1:自动解压并删除压缩包

目的:实现压缩包的自动解压及删除. 思路:获取压缩包 > 解压 > 删除压缩包 代码实现:此处代码实现前提为.py文件和压缩包在同一文件夹 # 导入需要的包 import os import shutil import time # 定义查找函数 def scan_file(): files = os.listdir() for f in files: if f.endswith('.zip'): return f # 定义解压函数 def unzip_it(f): folder_name =

C#压缩或解压(rar和zip文件)

/// <summary> /// 解压RAR和ZIP文件(需存在Winrar.exe(只要自己电脑上可以解压或压缩文件就存在Winrar.exe)) /// </summary> /// <param name="UnPath">解压后文件保存目录</param> /// <param name="rarPathName">待解压文件存放绝对路径(包括文件名称)</param> /// <

java解压多目录Zip文件(解决中文乱码问题)--转载

原文地址:http://zhangyongbo.iteye.com/blog/1749439 import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.util.Enumeration; import org.apache.tools.zi

在Ubuntu系统中解压rar和zip文件的方法

大家在以前的windows系统中会存有很多rar和zip格式的压缩文件,Ubuntu系统默认情况下对这些文件的支持不是很好,如果直接用"归档管理器"打开会提示错误,因此今天跟大家分享一下如何在Ubuntu中解压这两种格式的压缩文件: 我们需要安装两款软件:1.7zip:2.Ark,这两款软件在Ubuntu的软件中心都有下载: 打开软件中心搜索rar,在列表中找到它们,直接安装就可以- 安装完成后,就可以直接双击打开rar和zip格式的文件了,即使是中文格式也不会报错- 如果要解压,鼠标

支持文件的流式压缩/解压IP*Works! Zip

IP*Works! Zip是为应用程序添加压缩功能的完全可控件组件包.使用简单.速度快并且效率很高,是一个为桌面和网上应用程序添加压缩和解压缩功能的组件套包./n software IP*Works! Zip支持Zip.Tar.Gzip 和 Jar压缩标准,特别的,它支持流式压缩.加密压缩,在压缩包里就可以直接删除文件.我们目前提供完全可控的纯C# .NET组件.纯Java Beans. 产品特征: IP*Works! Zip基于纯C#代码,是完全可控的.NET组件,不依赖于任何外部代码.是完全

Java解压上传zip或rar文件,并解压遍历文件中的html的路径

1.本文只提供了一个功能的代码 public String addFreeMarker() throws Exception { HttpSession session = request.getSession(); User user = (User) session.getAttribute(Constant.USER_SESSION_KEY); String realName = user.getRealName(); System.out.println("--------获取登录用户信

文件压缩、解压工具类。文件压缩格式为zip

package com.JUtils.file; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.zip.ZipEntry; impor

在 Java 项目中解压7Zip特殊压缩算法文件

1 问题描述 Java Web 后端下载了一个经特殊算法压缩的 zip 文件,因为不能采用 java 本身自带的解压方式,必须采用 7Zip 来解压.所以,提到了本文中在 java web 后端调用外部 7zip exe 来解压文件的问题. 2 主要实现 2.1 定义缓冲区类 class StreamGobbler extends Thread { InputStream is; String type; public StreamGobbler(InputStream is, String t

hadoop streaming -archives 解压jar、zip、tar.gz的验证

1.archives作用描述: Hadoop中DistributedCache方法之一(其他参考文章后面的参考文章) ,作用是 将指定文件分发到各个Task的工作目录下,并对名称后缀为".jar".".zip",".tar.gz".".tgz"的文件自动解压,默认情况下,解压后的内容存放到工作目录下名称为解压前文件名的目录中,比如压缩包为dict.zip,则解压后内容存放到目录dict.zip中.为此,你可以给文件起个别名/软