看板 Python 關於我們 聯絡資訊
我現在一個資料夾下有很多個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:http://bugs.python.org/issue14315 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