首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Python 3中对多个文件使用gzip

在Python 3中对多个文件使用gzip
EN

Stack Overflow用户
提问于 2018-06-04 00:55:05
回答 2查看 5.8K关注 0票数 1

所以基本上我有一个这样的文件系统:

代码语言:javascript
运行
复制
main_archive.tar.gz
  main_archive.tar
    sub_archive.xml.gz
      actual_file.xml

这个档案里有上百个文件..。所以基本上,在Python3中,gzip包可以与多个文件一起使用吗?我只使用了一个压缩的文件,所以我不知道如何通过多个文件或多个级别的“压缩”。

我常用的解压方法是:

代码语言:javascript
运行
复制
with gzip.open(file_path, "rb") as f:
  for ln in f.readlines():
    *decode encoding here*

当然,这有多个问题,因为"f“通常只是一个文件...但现在我不确定它代表了什么?

任何帮助/建议都将不胜感激!

编辑1:

我已经接受了下面的答案,但如果你正在寻找类似的代码,我的主干基本上是:

代码语言:javascript
运行
复制
tar = tarfile.open(file_path, mode="r")
for member in tar.getmembers():
    f = tar.extractfile(member)
    if verbose:
        print("Decoding", member.name, "...")
    with gzip.open(f, "rb") as temp:
        decoded = temp.read().decode("UTF-8")
        e = xml.etree.ElementTree.parse(decoded).getroot()
        for child in e:
            print(child.tag)
            print(child.attrib)
            print("\n\n")

tar.close()

使用的主要包是gziptarfilexml.etree.ElementTree

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50668783

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档