获取zip文件内的文件列表
我有一个压缩文件:my_zip.zip
。里面有一个文本文件,但我不知道它的名字。我在查看Python的zipfile
模块(http://docs.python.org/library/zipfile.html),但对我想做的事情还是有点搞不清楚。
我该怎么做才能像“双击”这个压缩文件一样,提取出文本文件,然后使用这个文本文件,以便我可以进行:
>>> f = open('my_txt_file.txt','r')
>>> contents = f.read()
3 个回答
25
import zipfile
zip = zipfile.ZipFile('my_zip.zip')
f = zip.open('my_txt_file.txt')
contents = f.read()
f.close()
你可以在这里查看文档 这里。特别是,namelist()
这个方法可以让你看到压缩文件里面的所有文件名。
74
在编程中,有时候我们会遇到一些问题,像是代码运行不正常或者出现错误。这些问题可能是因为我们没有正确理解某些概念,或者在写代码的时候犯了一些小错误。
比如,有些人可能会在使用某个功能时,忘记先初始化它,或者没有正确设置参数。这就像是你在做饭时,忘记先把锅加热,结果做出来的菜就不好吃。
另外,调试代码也是一个很重要的环节。调试就像是检查你的工作,看看哪里出了问题。你可以通过打印一些信息,来了解代码在运行时的状态,这样就能更容易找到错误。
总之,编程就像是解决谜题,有时候需要耐心和细心,才能找到正确的答案。
import zipfile
# zip file handler
zip = zipfile.ZipFile('filename.zip')
# list available files in the container
print (zip.namelist())
# extract a specific file from the zip container
f = zip.open("file_inside_zip.txt")
# save the extraced file
content = f.read()
f = open('file_inside_zip.extracted.txt', 'wb')
f.write(content)
f.close()
135
你需要的是 ZipFile.namelist()
这个方法,它会给你一个压缩文件里所有内容的列表。然后你可以用 zip.open('你发现的文件名')
来打开那个文件,查看里面的内容。