Python zipfile从zip文件内的目录中提取文件

弗拉多斯基

我需要在zip文件的目录中提取一些文件。

主要问题是我只想从该目录中提取内容,而不要提取其中包含所有文件的目录本身。

我已经尝试过使用namelist()对其进行调整zipfile.Path(),但未成功对其进行迭代

extractall()可行,但是它会提取包含文件的目录(就像这样)。路径不起作用,因为KeyError提示该项目不存在,但它确实存在。

for zip_file in zip_files:
    with zipfile.ZipFile(os.path.join(home_path, zip_file), 'r') as zip_ref:
        files = [n for n in zip_ref.namelist()]
        zip_ref.extractall(os.path.join(home_path, 'dir'), members=files)
鲍比·唐切夫(Bobby Donchev)

用我的手机写的,但我希望它能正常工作:

from pathlib import Path

with ZipFile(zipfile_path, "r") as zf:
            for f in zf.namelist():
                if f.startswith('/'):
                    continue
                
                source = zf.open(f)
                target = open(target_dir / Path(f).name, "wb")

                with source, target:
                    shutil.copyfileobj(source, target)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从zip中提取文件,而不使用python ZipFile保留结构?

使用Python zipfile从ZIP中提取文件名中包含特定字符串的文件

如何在python的不同目录中提取zip文件?

Python从zip中提取文件

Python - 爬取目录、从 ZIP 中提取 CSV 文件以及组合多个 CSV

在python中提取带有数字密码的zip文件

从Python目录中的多个CSV文件中提取特定列

从子目录python中提取csv文件

Python zipfile不会发布zip文件

python:zipfile.ZipFile没有这样的文件或目录

在python中提取xz文件

从多个 Zip 中提取相同的文件(名称)并将其存储为 Zip Name = File Name (Python)

Python-从多个Zip文件中提取CSV文件并合并数据

如何在 Python 中的 zip 文件中提取 tar.gz 文件的成员

从zip归档文件中提取单个文件,而无需遍历Python中的整个名称列表

在python2.7中的文件名中提取带有瑞典语ÅÄÖ的zip文件

使用python提取zip文件

使用python提取zip文件

从完整文件路径中提取文件名及其父目录的Python方法?

我在Linux内使用python在Windows系统中使用Java 8在Windows中创建zip的情况下提取zip文件时与目录相关的问题

从python的zip文件中的深层提取文件

从Python3中的zip存档中提取特定文件夹的内容

Os.walk 使用 python 从所有子目录中提取 .gz 文件

在Python中提取一部分文件路径(目录)

在Python中提取一部分文件路径(目录)

如何在 Python 中的目录中提取每个文件的“上次修改时间”?

Python 的 zipfile 库无法提取受密码保护的文件

python脚本从XML文件中提取短语

从JSON文件Python错误中提取值