Python zipfile.extract() 不会提取所有文件

2024-03-01

我正在尝试使用此处找到的代码提取压缩文件夹。

def unzip(source_filename, dest_dir):
with zipfile.ZipFile(source_filename) as zf:

    for member in zf.infolist():
        words = member.filename.split('/')
        path = dest_dir
        for word in words[:-1]:
            drive, word = os.path.splitdrive(word)
            head, word = os.path.split(word)
            if word in (os.curdir, os.pardir, ''): continue
            path = os.path.join(path, word)
        zf.extract(member, path)

但是当尝试提取具有目录结构的 wordpress.zip 时
WordPress/
-wp-内容/
---somefile.php
-wp-config.php
-index.php
在这种情况下,我只获取根文件夹或 wordpress/ 下面的文件夹中的文件。所以我得到了 wordpress/wp-content/somefile.php 但没有得到 wordpress/ 文件夹本身中的文件。


第一个要看的地方是文档 http://docs.python.org/2/library/zipfile#zipfile-objects:

ZipFile.extractall([path[, members[, pwd]]])

将其应用于您的情况,我会尝试:

def unzip(source_filename, dest_dir):
    with zipfile.ZipFile(source_filename) as zf:
        zf.extractall(dest_dir)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python zipfile.extract() 不会提取所有文件 的相关文章

随机推荐

  • 具有自定义帖子类型和自定义分类的 WordPress 固定链接

    我有一个名为 产品 的自定义帖子类型和一个名为 product types 的产品自定义分类法 它是分层的 因此其中有子类别 我希望永久链接显示为http mysite com product type sub category postn
  • 如何在 Gulp 中使用 Browserify 丑化输出?

    我尝试在 Gulp 中丑化 Browserify 的输出 但它不起作用 gulpfile js var browserify require browserify var gulp require gulp var uglify requi
  • get_dummies(),异常:数据必须是一维的

    我有这个数据 我正在尝试应用这个 one hot pd get dummies df 但我收到这个错误 这是我到目前为止的代码 Import modules import pandas as pd import numpy as np im
  • Java 8 映射到对象列表,其中一个字段分组为一个列表

    新手问题 我有一个来自数据库的原始 bean 逐行为 public class DataBean private Integer employeeId private String org private String comments C
  • 如何过滤掉文件中所有唯一的行?

    有没有办法通过命令行工具过滤掉文件中的所有唯一行而不对行进行排序 我基本上想这样做 sort u myFile 没有排序的性能影响 删除重复行 awk a 0 file 这是著名的 awk 一行语句 inet 上有很多解释 Here htt
  • 在 testthat 中测试确切的字符串

    我想测试我的函数之一是否给出特定消息 或警告或错误 good lt function message Hello bad lt function message Hello 我希望第一个期望成功 第二个期望失败 library testth
  • NHibernate QueryOver:在子查询中使用 group by 获取行计数

    我试图从带有 group by 的查询中获取计数 但不知道如何将我想要的 SQL 转换为 NHibernate 的 QueryOver 语法 这是 SQL select count from select Email from Entry
  • REGEX - PHP 仅获取字符串中的粗体部分

    我是正则表达式的新手 我有一个像这样的字符串 Hello b ABCD b World or b ABCD b Hello World 我基本上想保留粗体标签内的文本 但删除字符串中的所有其他字符 我找到了删除字符串中粗体部分的代码 str
  • 使用值转换器时如何查询实体框架核心中的实际值?

    我们有一个相当简单的情况 其中 EF Core 实体包含一个我们映射到字符串的值对象 builder Property gt Nummer HasConversion i gt i ToString i gt ZijdeNummer Fro
  • Java获取Referer URI?

    我想要与完全相同的方法获取请求URI http docs oracle com javaee 6 api javax servlet http HttpServletRequest html getRequestURI 28 29 但我想在
  • 有没有什么方法可以让javascript循环休眠?

    例如 有一个 for 循环 我想休眠几秒钟 each para res function index item Sleep 100 我知道我可以使用 setTimeout 或 setInterval 但它们都是异步的 循环将继续 如果我这样
  • 套接字 Python 3.5:套接字服务器在文件接收时永远挂起

    我正在尝试编写一个Python程序 如果客户端连接到服务器 它可以浏览目录并通过套接字抓取文件 浏览部分工作正常 它打印出客户端的所有目录 这是代码的一部分 with clientsocket print Connected to addr
  • 可安装的触发器因测试附加组件而失败

    几天来我一直在努力解决可安装的触发器问题 我的所有研究表明 附加组件应该允许在电子表格中安装可安装的 onEdit 触发器 但我的尝试不断出错 我稍微简化了我的项目代码来举例说明我的问题 错误信息 执行失败 测试加载项尝试执行不允许的操作
  • jQuery UI DatePicker 仅显示年份

    我正在使用 jQuery datepicker 来显示日历 我想知道是否可以使用它来仅显示 Year 而不是完整的日历 NOTE 如果有人反对 为什么我现在回答这个问题 因为我尝试了这篇文章的所有答案 但没有得到任何解决方案 所以我尝试了自
  • Hibernate 和 JDBC 性能? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 对于 Pandas 数据框中的每一行,确定另一列中是否存在列值

    我有一个像这样的熊猫数据框 df pd DataFrame category A B C A category pred A B D A B C D print df category category pred 0 A A 1 B B D
  • 在 Cocoa 应用程序中使用异常处理与 NSError

    大家好 我一直在阅读苹果关于何时 何地 如何使用 NSError 与 try catch finally 的建议 本质上 我的印象是苹果认为最好避免使用异常处理语言结构 除非作为在意外错误情况下停止程序执行的机制 也许有人可以举一个这种情况
  • ggplot2:如果位置=“填充”,则在条形图上添加标签

    我想在a上添加 数字filled条形图 这是标签位于错误位置的图 这是数据框 x0 lt expand grid grp c G1 G2 treat c T1 T2 out c out1 out2 out3 out4 set seed 12
  • Facebook-passport 与 JWT

    我一直在使用Passport在我的服务器上进行用户身份验证 当用户在本地登录 使用用户名和密码 时 服务器会向他们发送JWT它存储在 localstorage 中 并在每次需要用户身份验证的 api 调用时发送回服务器 现在我想支持Face
  • Python zipfile.extract() 不会提取所有文件

    我正在尝试使用此处找到的代码提取压缩文件夹 def unzip source filename dest dir with zipfile ZipFile source filename as zf for member in zf inf