我正在嘗試解壓縮發送給我的一些彩信。問題是,有時它有效,而其他的則不行。當它不起作用時,python zipfile模塊會抱怨並說這是一個不好的zip文件。但是使用unix unzip命令解壓縮zip文件。ZipFile抱怨,有沒有辦法使用zipfile模塊?
這是香港專業教育學院得到了
zippedfile = open('%stemp/tempfile.zip' % settings.MEDIA_ROOT, 'w+')
zippedfile.write(string)
z = zipfile.ZipFile(zippedfile)
我使用「W +」,寫一個字符串到它,該字符串包含一個base64解碼的zip文件的字符串表示。
然後,我這樣做:
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模塊抱怨一些文件。
有沒有辦法做到這一點,而無需使用壓縮文件模塊?
我能以某種方式使用UNIX命令解壓,而不是壓縮文件,然後以同樣的事情,以檢索所有從存檔的圖像?
對不起,這沒有幫助,它仍然抱怨一個錯誤的zip文件。不要驚訝,因爲代碼有時會起作用。 – espenhogbakk 2009-01-28 17:51:28