Sté*_*ane 4 python json python-3.x rdap
我有以下函数,它读取 adict并影响局部变量的一些值,然后将其作为元组返回。
问题是字典中可能不存在某些所需的键。
到目前为止,我已经有了这段代码,它可以实现我想要的功能,但我想知道是否有更优雅的方法来实现它。
def getNetwork(self, search):
data = self.get('ip',search)
handle = data['handle']
name = data['name']
try:
country = data['country']
except KeyError:
country = ''
try:
type = data['type']
except KeyError:
type = ''
try:
start_addr = data['startAddress']
except KeyError:
start_addr = ''
try:
end_addr = data['endAddress']
except KeyError:
end_addr = ''
try:
parent_handle = data['parentHandle']
except KeyError:
parent_handle = ''
return (handle, name, country, type, start_addr, end_addr, parent_handle)
Run Code Online (Sandbox Code Playgroud)
我有点害怕很多,try: except:但如果我把所有的影响都放在一个单一的里面,try: except:一旦第一个缺失的字典键引发错误,它就会停止影响值。
只需使用dict.get. 每次使用:
try:
country = data['country']
except KeyError:
country = ''
Run Code Online (Sandbox Code Playgroud)
可以等效地替换为:
country = data.get('country', '')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2538 次 |
| 最近记录: |