我试图弄清楚如何为一个IPAM编写多个异常,这意味着当一个前缀已满时,就应该使用下一个前缀。这适用于一个,但不适用于几个不同的方面:
dict_endpoints = {"vpn-1": 9,
"vpn-2": 67,
"vpn-3": 68,
"vpn-4": 69}
def api(var_endpoint):
url = "https://myURL.org/"
token = os.environ['NETBOXTOKEN']
nb = pynetbox.api(url=url, token=token)
prefix = nb.ipam.prefixes.get(var_endpoint)
new_prefix = prefix.available_prefixes.create({"prefix_length": 48})
print(new_prefix)
try:
api(dict_endpoints["vpn-1"])
except:
api(dict_endpoints["vpn-2"])
# multiple exceptions without exiting the script
#except:
# api(dict_endpoints["vpn-3"])发布于 2022-08-08 11:19:27
您可以创建一个循环:
for endpoint in dict_endpoints.values():
try:
api(endpoint)
break # success!!
except:
pass # ignore error and go to next iteration
else: # all failed :-(
print("all endpoints failed...")发布于 2022-08-08 11:24:21
您可以使用else语句或处理以下多个例外:
try:
--snip--
except (exception_1, exception_2):
--snip--
else:
--snip--
https://stackoverflow.com/questions/73276980
复制相似问题