我需要编写一个python脚本,从FTP服务器检索tar.Z文件,并在Windows机器上解压缩它们。 tar.Z,如果我理解正确是Unix中 compress 命令的结果。
Python似乎不知道如何处理这些,它不是gz,也不是bz2或zip。有谁知道一个可以处理这些的库吗?
提前致谢
答案 0 :(得分:1)
如果GZIP - 应用程序 - 可以处理它,你有两个选择。
试用Python gzip
库。它可能有用。
使用subprocess Popen
为您运行gzip
。
它可能是InstallShield .Z文件。您可能希望使用InstallShield解压缩并解压缩.TAR文件。同样,您可以使用subprocess Popen
来处理文件。
它也可能是“LZW压缩文件”。看看这个库,它可能会有所帮助。
答案 1 :(得分:0)
由于您定位到特定平台(Windows),最简单的解决方案可能是在系统调用中运行gzip:http://www.gzip.org/#exe
您的项目中是否还有其他要求需要在Python中完成解压缩?
答案 2 :(得分:0)
解压缩的普通Python模块是不存在的,AFAIK,但是根据一些知识构建一个是可行的:
几乎所有必要的信息都可以找到the unarchiver CompressAlgorithm。来自维基百科的adaptive LZW以及compress man page的其他信息。
基本上,你读取前三个字节(前两个是魔术字节)来修改算法,然后开始读取和解压缩。
有很多小小的摆弄(.Z文件开始有9位令牌,最多16位,然后将符号表重置为最初的256 + 2值),这可能你会处理做二进制操作(&
,<<=
等)。