今天试了一下用zipfile模块读取有密码的zip压缩文件。
今天用winrar 5.6将一个名字为1.xlsx的excel文件打包成1.zip压缩包。采用默认的压缩算法(没有勾选传统加密锁法):
import zipfile
import pandas as pd
zf=zipfile.ZipFile("F:/Desktop/1.zip")
print(zf.namelist())
f=zf.open('1.xlsx',mode='r',pwd='123456'.encode('utf-8'))
df=pd.read_excel(f)
print(df)
zf.close()
出现错误:RuntimeError: Bad password for file '1.xlsx'。
后面我又试了在压缩文件时候勾选“ZIP使用传统加密法”发现可以正常读取加密压缩文件里的excel文件了。
总的 看来zipfile对密码压缩包只支持传统的加密方式。