作者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
1F:→ apua:变数"extra"怪怪的? extra[:4]出来的长度不到4? 04/06 14:14
2F:→ darkgerm:可能 extra 本来就不到 4? 楼上 apua 耶! 04/06 15:30
3F:→ bob123:可是他要unpack出'HH'=两个unsigned short就需要4个char XD 04/06 22:13
4F:→ ati7782:感谢大家的回覆!不过我有找到一个跟我一样的问题 04/08 13:16
6F:→ ati7782:不过我本身没有学过Python所以不知道要怎麽fix,请问有人 04/08 13:17
7F:→ ati7782:可以交一下吗?感激不尽 04/08 13:18
8F:推 bob123:原来这是zipfile在处理部分格式错误的apk档时会发生的bug~ 04/08 20:15
9F:→ bob123:不过原po上面这网址不就有人放fix patch在档案那边了吗 04/08 20:17
10F:→ ati7782:恩恩 但是我不知道要怎麽用那个修正bug@@ 04/08 22:02
11F:→ bob123:只动一行就直接改吧 zipfile.py里把pitch中-的那行换成+的 04/08 22:37