2017-03-05 64 views
0

我正在使用以下方法。尝试访问.zip文件中的.gz文件

使用namelist()名称将.zip文件中的项目列表名下来,然后使用名称列表中的特定项目并将其打开。

这不适合我。

import zipfile 
import gzip 
nameofFile = raw_input("Enter File Name:") 

def TEST(): 
    zf = zipfile.ZipFile(nameofFile, 'r') 
    x = zf.namelist() 
    y = x[-4] 
    print y 

    with gzip.open(y, 'rb') as f: 
     for line in f: 
     if "Apple" in line: 
     print "Fruit" 
     break 
TEST() 

以下是打印y的结果:Log_File/Result.gz

请帮帮忙,在此先感谢。

+0

不知道我做错了什么,得到了以下错误: C:\用户\苏尼尔\桌面> PY test.py 输入文件名:Log_File.zip LOG_FILE/Result.gz 回溯(最近通话最后一个): 文件 “test.py”,第18行,在 TEST() 文件 “test.py”,13号线,在该试验 与gzip.open( y,'rb')为f: 文件“C:\ Python27 \ lib \ gzip.py”,第34行,打开 返回GzipFile(filename,mode,compresslevel) 文件“C:\ Python27 \ lib \ gzip.py”,第94行,在__init__中 fileobj = self.myfileobj = __builtin __。open(文件名,模式或'rb') IOError:[Errno 2] No such file目录:u'Log_File/NodeDiagnostics.gz' –

回答

0

随着

with gzip.open(y, 'rb') as f: 

你的邮编外面打开文件。你需要做的是这样

gzip.GzipFile(zf.open(y)) 
+0

你好Rohana,谢谢你的回复,它给了我同样的错误,还有没有其他的方法。 –