1、脚本需求:
自动解压zip文件,解压完成删除zip文件。
2、所需模块(库):
- OS(Operating System)模块,此模块是关于操作系统相关的东西,一般会使用这个模块做
路径、目录、文件及其他操作系统方面
的事情。 - shutil模块,此模块整合了一系列针对文件的增删改查的操作。
3、方法步骤:
- 1.如何解压——使用内置模块来实现shutil.unpack_archive。
- 2.如何删除zip文件——使用内置模块os来实现os.remove。
- 3.如何监测zip文件的出现——如何判断某文件是zip、如何让函数每一秒都执行While True。
4、代码实现:
import os
import shutil
# 扫描文件函数
def scan_file():
# 如果不给路径,该函数会默认为个该文件所在目录的所有文件
# 因此这里就需要把这个代码文件和你要处理的文件放到同一个文件夹里
for f in os.listdir():
# 判断文件是否为zip文件
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)
# 使用while True让函数持续扫描
while True:
zip_file = scan_file()
# 为避免错误,进行一个判断,如果找到zip文件才运行函数
if zip_file:
unzip_it(zip_file)
delete(zip_file)