假设我在Python中有这个代码:
l = dict['link']
t = dict['title'] <<<<<<<<error here, there is no "title"
d = dict['description']
k = dict['keyword']
Run Code Online (Sandbox Code Playgroud)
如果第2行出现错误怎么办,但我希望它继续运行脚本并分配其他值?我可以"忽略"错误吗?
编辑:我知道怎么做一个简单的尝试,除了.但是,通常情况下,当#2出现错误时,它会向<except>发射,然后不继续其余的代码.
编辑:我知道有一个"获取"方法.但是,我想要一般的方式来做...我不会一直使用字典.
Luk*_*ský 12
最简单的选择是使用.get():
l = dict.get('link')
t = dict.get('title')
d = dict.get('description')
k = dict.get('keyword')
Run Code Online (Sandbox Code Playgroud)
t然后该变量将包含None(dict.get('title', '')例如,如果您想要一个空字符串,则可以使用).另一种选择是捕获KeyError异常.
t = dic.get('title')
Run Code Online (Sandbox Code Playgroud)
不会产生错误.它相当于:
try:
t = dic['title']
except KeyError:
t = None
Run Code Online (Sandbox Code Playgroud)
请不要内置阴影,不要dict用于变量名.用别的东西.