zipfile - 提取方法执行没有错误,但文件未提取

问题描述 投票:0回答:1

我在 python 中有一个非常简单的 zipfile 实现,它成功地从某些 zip 文件中提取,但在其他文件上始终失败。当它成功时(显然),代码将执行并从 zip 中提取文件。当失败时,代码也会执行而不会出现任何错误,但文件不会从 zip 中提取。

关于如何调查为什么代码执行没有错误,但在这些情况下实际上没有提取文件,有什么想法吗?我尝试使用 is_zipfile 和 compress_type 测试该文件,无论我是在最终有效的 zip 文件上操作还是在始终失败的 zip 文件上操作,这些东西看起来都是一样的。所以我不确定如何查明失败的文件中的“差异”。

import zipfile

def unzip(ziph):
    ziph.extractall('C:\\')

if __name__ == '__main__':
    ziph = zipfile.ZipFile('foo.zip', 'r')
    unzip(ziph)
    ziph.close()

我要补充的最后一件事是,extract 和 extractall 都可以在有效的文件上工作,并且都无法在失败的 zip 文件上提取(但执行时没有错误)。 Python 2.76 ...不知道还包括什么。

python compression logfile python-zipfile
1个回答
0
投票

请尝试=>

def unzip(ziph):
ziph.extractall(path = 'C:\\')

此外,如果您在管理模式下运行该进程,请检查权限。 您也可以通过检查在您的该路径上写入一个简单的文本文件来尝试。

© www.soinside.com 2019 - 2024. All rights reserved.