Python读取zip文件并解压,循环解压文件内的每个文件

读取并解压zip文件需要用到工具zipfile

示例代码

py 复制代码
import zipfile
import os


def readfile(path):
    files = os.listdir(path)
    file_list = []
    for file in files:  # 遍历文件夹
        if not os.path.isdir(file):
            file_list.append(path + '/' + file)
    return file_list


def read_zip(file_name):
    """读取zip文件"""
    zf = zipfile.ZipFile(file_name, mode='r')
    unzip_dir = os.path.dirname(os.path.realpath(__file__)) + '/unzip_dir'  # 解压路径
    for in_zip_file in zf.namelist():
        zf.extract(in_zip_file, unzip_dir)  # 解压到zip目录文件下
    # 循环读取解压后的文件
    for _file in readfile(unzip_dir):
        print(_file)


def main():
    zip_file = read_zip("xxx.zip")


if __name__ == '__main__':
    main()

最后的效果是xxx.zip文件内的文件会被解压到当前文件同目录下的 unzip_dir/文件夹下:

py 复制代码
    unzip_dir = os.path.dirname(os.path.realpath(__file__)) + '/unzip_dir'  # 解压路径

导出的文件可以使用如下方法读取:

py 复制代码
	for _file in readfile(unzip_dir):
        print(_file) # 读取的是文件名,具体的可以参考pandas各种
相关推荐
xiaoshuaishuai81 小时前
Git二分法定位Bug
开发语言·python
2401_835792541 小时前
FastAPI 速通
windows·python·fastapi
YMWM_1 小时前
export MPLBACKEND=Agg命令使用
linux·python
派大星~课堂1 小时前
【力扣-148. 排序链表】Python笔记
python·leetcode·链表
微涼5302 小时前
【Python】在使用联网工具时需要的问题
服务器·python·php
小白菜又菜2 小时前
Leetcode 657. Robot Return to Origin
python·leetcode·职场和发展
2402_881319302 小时前
跨服务通信兜底机制-Java 回传失败无持久重试队列,报告可能静默丢失。
java·开发语言·python
自信不孤单3 小时前
UniAda核心代码详解
python·ai·大模型·tta·狄利克雷理论·证据感知
smj2302_796826523 小时前
解决leetcode第3883题统计满足数位和数组的非递减数组数目
python·算法·leetcode
李昊哲小课3 小时前
Python办公自动化教程 - openpyxl让Excel处理变得轻松
python·信息可视化·excel