微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

遍历 tarfile 文件夹

如何解决遍历 tarfile 文件夹

我正在尝试解决一个问题,即在档案存档中找到特定的文本文件(但我现在只有 zip 和 tar)。我有以下代码,它适用于 zip,并且我已经设法遍历 zip,但是对于 tar 文件夹,它给了我一个错误,它无法找到我的文件。老实说,我不知道该怎么做,是的,我已经尝试阅读文档。

import os
import zipfile
import pathlib
import sys
import time
import rarfile
import tarfile


def open_zip(files: zipfile.ZipFile):
    for i in range(len(files.namelist())):
        if files.namelist()[i].lower().endswith('.txt'):
            read_txt(files.open(files.namelist()[i]))
            # temp = open(temp_path)
            # if len(read_txt(temp)) == 34:
            #     print(read_txt(temp))
        elif files.namelist()[i].lower().endswith('.zip'):
            print(files.namelist()[i])
            temp_zip = files.open(files.namelist()[i])
            temp_zip_new = zipfile.ZipFile(temp_zip)
            open_zip(temp_zip_new)
        elif files.namelist()[i].lower().endswith('.tar'):
            print(files.namelist()[i])
            print(tarfile.is_tarfile(files.namelist()[i]))
            temp_rar_2 = tarfile.open(files.namelist()[i])
            temp_zip_rar = files.open(files.namelist()[i])
            temp_rar = tarfile.TarFile.open(files.namelist()[i])
            print(temp_rar)
            #print(type(temp_rar))
            # temp_rar_new = tarfile.TarFile(temp_rar)
            #open_rar(temp_rar)


temp = zipfile.ZipFile("/Users/arsen/Downloads/447509d6ee8b4cbaa96e3153ddddd7ba.zip")
open_zip(temp)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。