gpt4 book ai didi

python - ZipFile 提示,有没有办法绕过使用 zipfile 模块?

转载 作者:太空宇宙 更新时间:2023-11-04 11:06:10 28 4
gpt4 key购买 nike

我正在尝试解压缩发送给我的一些压缩的彩信。问题是有时它有效,而其他时候则无效。当它不起作用时,python zipfile 模块会提示说它是一个错误的 zip 文件。但是使用 unix unzip 命令可以很好地解压缩 zip 文件。

这是我得到的

zippedfile = open('%stemp/tempfile.zip' % settings.MEDIA_ROOT, 'w+')
zippedfile.write(string)
z = zipfile.ZipFile(zippedfile)

我正在使用“w+”并向其写入一个字符串,该字符串包含 zip 文件的 base64 解码字符串表示形式。

然后我这样做:

filelist = z.infolist()  
images = []

for f in filelist:
raw_mimetype = mimetypes.guess_type(f.filename)[0]
if raw_mimetype:
mimetype = raw_mimetype.split('/')[0]
else:
mimetype = 'unknown'
if mimetype == 'image':
images.append(f.filename)

这样我就得到了 zip 文件中所有图像的列表。但这并不总是有效,因为 zipfile 模块会提示某些文件。

有没有办法做到这一点,而不使用 zipfile 模块?

我能否以某种方式使用 unix 命令 unzip 而不是 zipfile,然后使用同样的方法从存档中检索所有图像?

最佳答案

在将压缩数据写入其中时,您很可能应该以二进制模式打开文件。也就是说,你应该使用

zippedfile = open('%stemp/tempfile.zip' % settings.MEDIA_ROOT, 'wb+')

关于python - ZipFile 提示,有没有办法绕过使用 zipfile 模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/488054/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com