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)
python-----自动解压并删除zip文件的更多相关文章
- python项目1:自动解压并删除压缩包
目的:实现压缩包的自动解压及删除. 思路:获取压缩包 > 解压 > 删除压缩包 代码实现:此处代码实现前提为.py文件和压缩包在同一文件夹 # 导入需要的包 import os impor ...
- JAVA解压.Z及.ZIP文件
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-compress --> <dependency ...
- C#压缩或解压(rar和zip文件)
/// <summary> /// 解压RAR和ZIP文件(需存在Winrar.exe(只要自己电脑上可以解压或压缩文件就存在Winrar.exe)) /// </summary&g ...
- python一次性解压多层嵌套zip压缩包
zip包里的结构不是固定的,有可能只需要解压一次就完成了,有可能解压后里面还存在zip文件,需要继续进行解压缩 写了个简单的递归函数来实现解压非固定结构zip包,若解压后的zip子目录下仍含有zip文 ...
- 在Ubuntu系统中解压rar和zip文件的方法
大家在以前的windows系统中会存有很多rar和zip格式的压缩文件,Ubuntu系统默认情况下对这些文件的支持不是很好,如果直接用"归档管理器"打开会提示错误,因此今天跟大家分 ...
- java解压多目录Zip文件(解决中文乱码问题)--转载
原文地址:http://zhangyongbo.iteye.com/blog/1749439 import java.io.BufferedOutputStream; import java.io.F ...
- Linux中解压、压缩 ZIP文件
解压 unzip -o -d /home/v-gazh myfile.zip # 把myfile.zip文件解压到 /home/v-gazh/ # -o:不提示的情况下覆盖文件: # -d:-d /h ...
- 基于Python——实现解压文件夹中的.zip文件
[背景]当一个文件夹里存好好多.zip文件需要解压时,手动一个个解压再给文件重命名是一件很麻烦的事情,基于此,今天介绍一种使用python实现批量解压文件夹中的压缩文件并给文件重命名的方法—— [代码 ...
- PHP自动解压上传的rar文件
PHP自动解压上传的rar文件 浏览:383 发布日期:2015/07/20 分类:功能实现 关键字: php函数 php扩展 大家都知道php有个zip类可直接操作zip压缩文件,可是用户有时候 ...
随机推荐
- 18Spring后置通知
Spring后置通知,和前置通知类似,直接看代码: package com.cn.spring.aop.impl; //加减乘除的接口类 public interface ArithmeticCalc ...
- Python面试快问快答,理论要的就是速度与精准,Python面试题No2
今天的面试题 第1题:python2和python3的range(100)的区别 range()函数的含义 range函数是一个用来创建算数级数序列的通用函数,返回一个[start, start + ...
- LeetCode(48)Rotate Image
题目 You are given an n x n 2D matrix representing an image. Rotate the image by 90 degrees (clockwise ...
- Leetcode 142.环形链表II
环形链表II 给定一个链表,返回链表开始入环的第一个节点. 如果链表无环,则返回 null. 说明:不允许修改给定的链表. 进阶:你是否可以不用额外空间解决此题? 链表头是X,环的第一个节点是Y,sl ...
- Linux下C编程入门(1)
Linux系统的介绍(以下以Manjaro最新版为例子): 一.系统的安装: 1.可以直接使用U盘做一个live usb的启动盘,在bios中设置从U盘启动即可拥有linux系统,如果是新式bios需 ...
- POJ 3281_Dining
题意: FJ准备了F种食物和D种饮料,每头牛都有喜欢的食物和饮料,并且每头牛都只能分配一种食物和饮料.问如何分配使得同时得到喜欢的食物和饮料的牛数量最多. 分析: 首先想到将牛与其对应的食物和饮料匹配 ...
- 洛谷—— P1690 贪婪的Copy
https://www.luogu.org/problem/show?pid=1690 题目描述 Copy从卢牛那里听说在一片叫yz的神的领域埋藏着不少宝藏,于是Copy来到了这个被划分为个区域的神地 ...
- BZOJ——2190: [SDOI2008]仪仗队
思路: 我们将其所在的位置设为(0,0),那么如果存在一个点(x,y),且有gcd(x,y)=k(k!=1),那么点(x/k,y/k)一定会将(x,y)挡住.而如果k=1,那么点(x,y)就一定会被看 ...
- 在 IIS 中承载 WCF 服务
本主题概述了创建 Internet 信息服务 (IIS) 中承载的 Windows Communication Foundation (WCF) 服务所需的基本步骤. 本主题假设您熟悉 IIS 且了解 ...
- centos7grub2 引导win10
centos7+win10安装完成之后,使用gurb2引导win10系统 方式:使用ntfs-3g 步骤: 1.加源 wget -O /etc/yum.repos.d/epel.repo http: ...