2011-12-02 206 views
1

我有一個文件N225.e00.Z.zip。我可以將它解壓縮並將文件N225.e00.Z解壓縮,然後卡在那裏。使用Python 2.6解壓縮.Z文件

我一直在尋找和嘗試3種不同的方式來解壓這個沒有成功。

1)

import zlib, gzip, os 

ncomp = os.popen("uncompress -c " + zfile + ">" _ os.path.splitext(zfile)[0]) 

此返回文件N225.e00但它的尺寸是0

2)

import zlib, gzip, os 

zfile = r"C:\N225.e00.Z 
zrecover = r"C:\N225.e00 

str_obj1 = open(zfile, "rb").read() 
str_obj2 = zlib.compress(str_obj1) 
f = open(zrecover, "wb") 
f.write(str_obj2) 
f.close() 

此返回N225.e00,它有一個文件大小,但它比原來小,並且不是真正的未壓縮的。

最後一個我試過好老的gzip

3)

import zlib, gzip, os 

zfile = r"C:\N225.e00.Z 

f = gzip.open(zfile, "rb") 
filecontent = f.read() 
f.close() 

我得到一個錯誤IO錯誤:不是gzip壓縮的文件。

+0

您可以通過bash shell解壓嗎? – Blender

+0

目前它似乎不可能做一個本地的Python庫(調用一個外部程序unZ可能是你的唯一選擇)。在這裏看一下'http:// www.chilkatsoft.com/python-zip.asp',它不清楚它們是如何做的(參見功能列表的底部) – KevinDTimm

+0

從來沒有使用bash shell,我被困在一個勝利XP機器來做到這一點。 – user1015375

回答

0

我不會管東西。只需使用uncompress

os.system('uncompress {filename}'.format(filename = 'C:\\N225.e00.Z')) 
+0

好吧,試着寫下來,我在屏幕上得到了一個閃光燈,但是沒有發生,所以我添加了我的popen的結尾給你,並且它再次創建一個空文件。我被迫在一臺win XP機器上這樣做。 – user1015375

+0

它應該在你當前的工作目錄下創建文件(通常是'C:/ Users/Username /')。 – Blender

+0

好吧,也許這是我缺乏python,但我檢查我的工作目錄使用pring os.getcwd()並跑了你的線,在殼得到「1」,但沒有出現在工作目錄。 – user1015375