我正在尝试使用Python解压缩* .Z文件。我通过FTP(二进制模式)下载了它。该文件使用7zip成功解压缩(文件上的“信息”表示其类型为“
Z”)。原始文件位于ftp://cddis.gsfc.nasa.gov/gps/products/1860/igr18600.sp3.Z。
我已经阅读了Python中zlib模块的用法,并使用了一些测试代码:
import zlib
comp_data = open('C:\Temp\igr18600.sp3.Z', 'rb').read()
print(comp_data[0:10])
uncomp_data = zlib.decompress(comp_data)
with open('c:\temp\igr18600.sp3', 'wb') as f:
f.write(uncomp_data)
f.close()
执行此操作时,将得到以下输出:
b'\x1f\x9d\x90#\xc6@\x91\x01#F'
Traceback (most recent call last):
File "test.py", line 7, in <module>
uncomp_data = zlib.decompress(comp_data)
zlib.error: Error -3 while decompressing data: incorrect header check
zlib显然不喜欢标题。前两个字节似乎与压缩文件的正确魔术数字序列0x1F9d匹配(每个https://en.wikipedia.org/wiki/List_of_file_signatures)。
紧要关头,我可以通过直接掏空7zip来解决此问题。但是我希望找到一个纯Python类型的答案。尽管一天中大部分时间都在搜寻答案(或此错误消息),但我的运气并不好。也许我的搜索技能正在萎缩?
Python在模块中没有等效的Unix解压缩功能,这是您解压缩.Z文件所需要的。您可能需要a)外壳到Unix
compress命令,b)外壳到gzip,c)外壳到7-zip(gzip和7-zip都具有解压缩.Z文件的能力),d)修改用C原始的解压缩代码并将其链接到Python(该代码可在线获得),或者e)用本机Python编写自己的LZW解压缩器。
对于d),您可以在mathematica.stackexchange.com的此答案中找到我编写的用于完成此工作的一些C代码。参见unlzw()
功能。
问题内容: 如果文件是A ,我可以解压缩文件,如果文件类型是I,则可以解压缩文件。我如何使用python 2.7进行此工作? 问题答案: 试试这个包:
本文向大家介绍详解Python 解压缩文件,包括了详解Python 解压缩文件的使用技巧和注意事项,需要的朋友参考一下 zipfile模块及相关方法介绍: 1 压缩 1.1 创建zipfile对象 zipfile.ZipFile(file, mode='r', compression=0, allowZip64=True, compresslevel=None) 创建Zipfile对象,主要参数:
问题内容: 我很难弄清楚如何使用2.4解压缩zip文件。不包含在2.4中。我只能在服务器上使用2.4.4。 有人可以提供一个简单的代码示例吗? 问题答案: 您必须使用和。考虑目录的样本
问题内容: 在许多在线示例中,使用编码缓冲区在Java中对文件进行(解压缩)。但是,使用NIO时,无需选择合适的缓冲区大小。我找到了文件和套接字的示例,但是是否有NIO通道用于压缩输入(例如),因此您可以使用它代替自己创建缓冲区吗? 问题答案: 不,专业的ZIP频道尚不存在…我想您可以执行以下操作。使用NIO读取要缓冲的任何通道。然后检索刚刚从缓冲区读取的字节到字节数组,使用ByteArrayIn
我正在使用Julia的ZipFile包来提取和处理csv文件。没问题,但是当我遇到zip文件中的zip文件时,我也想处理它,但是遇到了一个错误。 Julia ZipFile文档如下:https://zipfilejl.readthedocs.io/en/latest/ 对如何做到这一点有什么想法吗?
问题内容: 我想使用Java代码将文件压缩为zip,rar和7z格式。我也想在指定位置解压缩这些文件。谁能告诉我如何在Java中使用7-zip压缩和解压缩文件? 问题答案: 我用过:sevenzipjbinding.jar sevenzipjbinding-Allplatforms.jar 我现在可以使用这些jar解压缩文件。 尝试使用此链接进行解压缩:http : //sourceforge.n