相关疑难解决方法(0)

解压缩文件导致"BadZipFile:文件不是zip文件"

我有两个zip文件,它们都可以通过Windows资源管理器和7-zip打开.

然而,当我用Python的zipfile模块[zipfile.ZipFile("filex.zip")]打开它们时,其中一个打开但另一个给出错误" BadZipfile: File is not a zip file".

我确保后者是一个有效的Zip文件,用7-Zip打开并查看其属性(7Zip.ZIP说).当我用文本编辑器打开文件时,前两个字符是"PK",表明它确实是一个zip文件.

我正在使用Python 2.5,并且真的没有任何线索如何解决这个问题.我已经尝试过Windows和Ubuntu,并且两个平台都存在问题.

更新: Windows上的Python 2.5.4的回溯:

Traceback (most recent call last):
File "<module1>", line 5, in <module>
    zipfile.ZipFile("c:/temp/test.zip")
File "C:\Python25\lib\zipfile.py", line 346, in init
    self._GetContents()
File "C:\Python25\lib\zipfile.py", line 366, in _GetContents
    self._RealGetContents()
File "C:\Python25\lib\zipfile.py", line 378, in _RealGetContents
    raise BadZipfile, "File is not a zip file"
BadZipfile: File is not a zip file
Run Code Online (Sandbox Code Playgroud)

基本上,当_EndRecData调用函数从中央目录结束"记录中获取数据时,注释长度检出失败[endrec [7] == len(comment)].

函数中locals的值_EndRecData如下:

 END_BLOCK: 4096,
 comment: '\x00',
 data: '\xd6\xf6\x03\x00\x88,N8?<e\xf0q\xa8\x1cwK\x87\x0c(\x82a\xee\xc61N\'1qN\x0b\x16K-\x9d\xd57w\x0f\xa31n\xf3dN\x9e\xb1s\xffu\xd1\.....', (truncated)
 endrec: …
Run Code Online (Sandbox Code Playgroud)

python zipfile

37
推荐指数
4
解决办法
6万
查看次数

在Python中搜索/读取二进制数据

我正在阅读二进制文件(在这种情况下为jpg),并且需要在该文件中找到一些值.对于那些感兴趣的人,二进制文件是一个jpg,我试图通过查找这里详述的二进制结构来挑选它的维度.

我需要在二进制数据中找到FFC0,跳过一些字节数,然后读取4个字节(这应该给我图像尺寸).

在二进制数据中搜索值的好方法是什么?有没有相当于'发现',或类似的东西?

python binary search

22
推荐指数
5
解决办法
6万
查看次数

标签 统计

python ×2

binary ×1

search ×1

zipfile ×1