加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 尝试… else …除了语法错误

发布时间:2020-12-20 13:02:04 所属栏目:Python 来源:网络整理
导读:我无法理解这一点…… 无法运行此代码,我不知道为什么它是语法错误. try: newT.read() #existingArtist = newT['Exif.Image.Artist'].value #existingKeywords = newT['Xmp.dc.subject'].value except KeyError: print "KeyError" else: #Program will NOT r
我无法理解这一点……

无法运行此代码,我不知道为什么它是语法错误.

try:
        newT.read()
        #existingArtist = newT['Exif.Image.Artist'].value
        #existingKeywords = newT['Xmp.dc.subject'].value

    except KeyError:
        print "KeyError"

    else:
        #Program will NOT remove existing values
        newT.read()
        if existingArtist != "" :
            newT['Exif.Image.Artist'] = artistString


        print existingKeywords

        keywords = os.path.normpath(relativePath).split(os.sep)
        print keywords
        newT['Xmp.dc.subject'] = existingKeywords + keywords

        newT.write()
    except:
        print "Cannot write tags to ",filePath

最后一个“except:”发生语法错误.再次……我不知道为什么python会抛出一个语法错误(在这个问题上花了大约3小时).

解决方法

除了在其他之后,你不能拥有另一个. try,except和else块不像函数调用或其他代码 – 你不能随意混合和匹配它们.它始终是一个特定的序列:

try:
    # execute some code
except:
    # if that code raises an error,go here
    # (this part is just regular code)
else:
    # if the "try" code did not raise an error,go here
    # (this part is also just regular code)

如果要捕获else块期间发生的错误,则需要另一个try语句.像这样:

try:
    ...
except:
    ...
else:
    try:
        ...
    except:
        ...

仅供参考,如果您想捕获在except块期间发生的错误,同样适用 – 在这种情况下,您还需要另一个try语句,如下所示:

try:
    ...
except:
    try:
        ...
    except:
        ...
else:
    ...

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读