作者ati7782 (姜姜)
看板Python
標題[問題] zipfile開壓縮檔失敗
時間Thu Apr 5 19:30:50 2012
我現在一個資料夾下有很多個apk(Android application)檔
當我要讀取每一個apk(一種zipfile)時跳出了錯誤,但不是每個apk
都有錯誤,只有某些才會,請問一下是為什麼?
錯誤訊息如下:
Traceback (most recent call last):
File "qGram_basis.py", line 39, in <module>
sig = get_signature(options.input_folder + filename)
File "qGram_basis.py", line 19, in get_signature
zipFile = zipfile.ZipFile(apkPath,"r")
File "/usr/lib/python2.7/zipfile.py", line 710, in __init__
self._GetContents()
File "/usr/lib/python2.7/zipfile.py", line 744, in _GetContents
self._RealGetContents()
File "/usr/lib/python2.7/zipfile.py", line 803, in _RealGetContents
x._decodeExtra()
File "/usr/lib/python2.7/zipfile.py", line 369, in _decodeExtra
tp, ln = unpack('<HH', extra[:4])
struct.error: unpack requires a string argument of length 4
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.13.230
→ apua:變數"extra"怪怪的? extra[:4]出來的長度不到4? 04/06 14:14
→ darkgerm:可能 extra 本來就不到 4? 樓上 apua 耶! 04/06 15:30
→ bob123:可是他要unpack出'HH'=兩個unsigned short就需要4個char XD 04/06 22:13
→ ati7782:感謝大家的回覆!不過我有找到一個跟我一樣的問題 04/08 13:16
→ ati7782:不過我本身沒有學過Python所以不知道要怎麼fix,請問有人 04/08 13:17
→ ati7782:可以交一下嗎?感激不盡 04/08 13:18
推 bob123:原來這是zipfile在處理部分格式錯誤的apk檔時會發生的bug~ 04/08 20:15
→ bob123:不過原po上面這網址不就有人放fix patch在檔案那邊了嗎 04/08 20:17
→ ati7782:恩恩 但是我不知道要怎麼用那個修正bug@@ 04/08 22:02
→ bob123:只動一行就直接改吧 zipfile.py裡把pitch中-的那行換成+的 04/08 22:37