读取并解压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各种