繁体   English   中英

Python:在.zip中解压缩和解压缩.Z文件

[英]Python: Unzipping and decompressing .Z files inside .zip

我正在尝试解压缩包含Beta目录的Alpha.zip文件夹,该Beta目录包含包含aZ,bZ,cZ,dZ文件的Gamma文件夹。 使用zip和7-zip,我可以提取存储在.Z文件中的所有aD,bD,cD,dD文件。

我在python中使用Import gzip和Import zlib尝试过此操作。

import sys
import os
import getopt
import gzip
f = open('a.d.Z','r')
file_content = f.read()
f.close()

我不断收到各种各样的错误,包括:这不是一个zip文件,返回codecs.charmap_encode(input self.errors encoding_map)0。关于如何编写此代码有什么建议吗?

您实际上需要使用某种zip库。 现在,您正在导入gzip ,但您并未对其进行任何操作。 尝试查看gzip文档,然后使用该库打开文件。

gzip_file = gzip.open('a.d.Z') # use gzip.open instead of builtin open function
file_content = gzip_file.read()

根据您的评论进行编辑:您不能仅使用任何压缩库打开所有类型的压缩文件。 既然您有一个.Z文件,则很可能要使用zlib而不是gzip ,但是由于扩展名只是惯例,因此只有您可以确定文件所采用的压缩格式。要使用zlib ,请执行以下操作:

# Note: untested code ahead!
import zlib
with open('a.d.Z', 'rb') as f: # Notice that I open this in binary mode
    file_content = f.read() # Read the compressed binary data
    decompressed_content = zlib.decompress(file_content) # Decompress

暂无
暂无

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

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