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

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

示例代码

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/文件夹下:

    unzip_dir = os.path.dirname(os.path.realpath(__file__)) + '/unzip_dir'  # 解压路径

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

	for _file in readfile(unzip_dir):
        print(_file) # 读取的是文件名,具体的可以参考pandas各种

你可能感兴趣的:(python,python)