我正在使用类似这样的语句:
zipf.read(file, pwd = 'password')
导致错误:
TypeError: pwd: expected bytes, got str
进行了一些研究,确定我应该尝试以下方法:
zipf.read(file, pwd = b'password')
现在导致错误:
RuntimeError: Bad password for file <ZipInfo filename='smb-d1674sc2.bin' compress_type=99 external_attr=0x20 file_size=737280 compress_size=641541>
感觉到我此时正转圈。我也尝试过:
password = 'password'
passwd = password.encode("UTF-8")
pwd = 'password'.encode('cp850','replace')
testpass = str(b'password', 'utf-8')
这些都不起作用(用不同的变量替换上面的字符串)
是的,我尝试手动在系统上打开文件,并可以确认密码正确。
其他背景:在Lambda中工作,获取一个加密的zip,并将其上传到S3。对于不受密码保护的zip,我的程序没有任何问题。