如果zip文件已损坏,则需要处理,因此它只需传递此文件即可继续下一个。
在Im试图捕获异常的下面的代码示例中,我可以通过它。但是,当zip文件损坏时,我的脚本失败了,并给了我“正常”的追溯错误*,而不是打印了“我的错误”,但是如果zip文件正常,则运行正常。
这是我正在处理的代码的一个简约示例。
path = "path to zipfile"
from zipfile import ZipFile
with ZipFile(path) as zf:
try:
print "zipfile is OK"
except BadZipfile:
print "Does not work "
pass
追溯的一部分告诉我:引发BadZipfile,“文件不是zip文件”
最佳答案
您需要将上下文管理器放在try-except
块中:
try:
with ZipFile(path) as zf:
print "zipfile is OK"
except BadZipfile:
print "Does not work "
错误由
ZipFile
引发,因此将其放置在外部意味着找不到针对所引发异常的处理程序。另外,请确保从BadZipFile
适当导入zipfile
。关于python - Python无法处理zipfile.BadZipFile中的异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39154470/