如何使用Python处理zip文件

时间:2011-09-23 19:08:42

标签: python

a.zip---
      -- b.txt
      -- c.txt
      -- d.txt

使用Python处理zip文件的方法

我可以将zip文件扩展到临时目录,然后逐个处理每个txt文件

在这里,我更感兴趣的是知道python是否提供了这样的方式 我不必手动扩展zip文件,只需将zip文件视为专用文件夹并相应处理每个文件。

2 个答案:

答案 0 :(得分:14)

Python standard library可以帮助您。

Doug Hellman博客对所选模块提供了非常丰富的信息:http://www.doughellmann.com/PyMOTW/zipfile/

评论Davids帖子:Zipfile对象上的Python 2.7提供了一个上下文管理器,所以推荐的方法是:

import zipfile
with zipfile.ZipFile("zipfile.zip", "r") as f:
    for name in f.namelist():
        data = f.read(name)
        print name, len(data), repr(data[:10])

由于with语句,将自动调用close方法。如果您写入文件,这一点尤其重要。

答案 1 :(得分:3)

是的,您可以自行处理每个文件。看一下教程here。根据您的需要,您可以从该教程中执行此示例:

import zipfile
file = zipfile.ZipFile("zipfile.zip", "r")
for name in file.namelist():
    data = file.read(name)
    print name, len(data), repr(data[:10])

这将迭代存档中的每个文件并打印出其名称,长度和前10个字节。

综合参考文档为here

相关问题