遇到非Zip文件时出错
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了遇到非Zip文件时出错相关的知识,希望对你有一定的参考价值。
我想从整个文件夹中获取Zip文件的注释数据,但是当它遇到除Zip文件之外的任何其他文件时它会给我一个错误:
回溯(最近一次调用最后一次):文件“C: Users user Desktop New folder ec5.py”,第11行,使用ZipFile(zfile,'r')作为testzip:文件“C: Users user AppData Local Programs Python Python37-32 lib zipfile.py“,第1200行,在init self._RealGetContents()文件”C: Users user AppData Local Programs Python Python37- 32 lib zipfile.py“,第1267行,在_RealGetContents中引发BadZipFile(”文件不是zip文件“)zipfile.BadZipFile:文件不是zip文件
是否有可能使用以下方式修复它:
try:
exception
这是代码:
import os
import unicodedata
from zipfile import ZipFile
rootFolder = u"C:/Users/user/Desktop/archives/"
zipfiles = [os.path.join(rootFolder, f) for f in os.listdir(rootFolder)]
for zfile in zipfiles:
print("Opening: {}".format(zfile))
with ZipFile(zfile, 'r') as testzip:
print(testzip.comment) # comment for entire zip
l = testzip.infolist() #list all files in archive
for finfo in l:
# per file/directory comments
print("{}:{}".format(finfo.filename, finfo.comment))
试试这个
for zfile in zipfiles:
print("Opening: {}".format(zfile))
try:
with ZipFile(zfile, 'r') as testzip:
print(testzip.comment) # comment for entire zip
l = testzip.infolist() #list all files in archive
for finfo in l:
# per file/directory comments
print("{}:{}".format(finfo.filename, finfo.comment))
except BadZipFile:
print("Bad file:", zfile)
您可能需要从zipfile导入BadZipFile异常
你也可以使用catch-all异常,但我会劝阻它,因为它可能会隐藏其他错误:
except Exception as e:
print(e)
以上是关于遇到非Zip文件时出错的主要内容,如果未能解决你的问题,请参考以下文章
使用 Archive::Zip 存储文件时遇到问题:我得到没有错误代码的空 zip 文件
android.view.InflateException:二进制 XML 文件第 15 行:二进制 XML 文件第 19 行:膨胀类片段时出错