繁体   English   中英

在python中提取.zip

[英]Extracting .zip in python

我在使用 python2 zipfile.ZipFile提取 .zip 时得到BadZipfile: Bad magic number for file header error

使用 unzip 提取时相同的 .zip 给出file #1: bad zipfile offset (local header sig): 0但使用退出代码 2 提取。

使用jar -xf file.zip ,命令以$? == 0 $? == 0没有被提取。

使用文件给出:

file -i file.zip
file.zip application/octet-stream; charset=binary

这为 zipfile 提供了不正确的标头

$ hexdump -C file.zip | head -10
00000000  50 67 f0 de 1e 7a 29 e4  93 56 3f 11 a2 5f b6 97  |Pg...z)..V?.._..|

正确的标题是:

00000000  50 4b 03 04 14 00 08 08  08 00 28 3e 4b 4b 00 00  |PK........(>KK..|

为什么文件被列为 application/octet-stream ?

我在

Distributor ID: Ubuntu
Description:    Ubuntu 14.04.5 LTS
Release:    14.04
Codename:   trusty

这是怎么回事 ? 这是什么文件格式? 任何指针?

你试过这个吗?

import zipfile
zip_ref = zipfile.ZipFile(path_to_zip_file, 'r')
zip_ref.extractall(directory_to_extract_to)
zip_ref.close()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM