读取并解压zip文件需要用到工具zipfile
示例代码
import zipfile
import osdef 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_listdef 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各种