我在python中有一个非常简单的zipfile实现,它成功地从某些zip文件中提取但在其他文件上一致地失败。当它成功(显然)代码执行并从zip中提取文件。当它失败时,代码也会执行而没有任何错误,但文件不会从zip中提取。
关于我如何调查代码执行没有错误但是在这些情况下实际上没有提取文件的任何想法?我已经尝试使用is_zipfile和compress_type来测试文件,无论我是在最终运行的zip文件还是始终失败的zipfile上运行,这些看起来都是一样的。所以我不确定如何确定失败文件中的“差异”。
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 ...不确定还包括什么。