2

我在一个 zip 文件中有一堆带时间戳的 .jpg,当我使用 Python 的 ZipFile 包打开该 zip 文件时,我看到三个文件:

>>> cameraZip = zipfile.ZipFile(zipPath, 'r')
>>> cameraZip.namelist()
['20131108_200152.jpg', '20131108_203158.jpg', '20131108_205521.jpg']

当我使用 Mac OSX 的默认 .zip 解压缩器解压缩文件时,我得到 371 个文件,从“20131101_000159.jpg”到“20131108_193152.jpg”。

解压缩此文件与 .zip 解压缩器的结果相同:

$ unzip 2013.11.zip

extracting: 20131101_000159.jpg     
extracting: 20131101_003156.jpg 
...
extracting: 20131108_190155.jpg     
extracting: 20131108_193152.jpg 

有人知道发生了什么吗?

4

1 回答 1

0

问题很可能出在 zip 中央目录记录中,该记录在创建 zip 文件时未正确刷新。虽然 Python 寻找中央目录(我猜),但其他实现处理本地文件头并找到所有这些。

于 2013-12-23T12:29:53.930 回答