首页 > 解决方案 > 我怎样才能漂亮地处理这个脏的多次尝试代码

问题描述

大家好,请帮我修改这段代码。你可能知道我在做什么 拥有 keyError 并不重要,但无论如何我想尝试每个 del 代码。它按我的意图工作,但我很确定有更漂亮的方法可以做到这一点。

try:
    del response_json['sha1']
except:
    print("keyError: Fail to delete sha1 hash key")
try:
    del response_json['sha224']
except:
    print("keyError: Fail to delete sha224 hash key")
try:
    del response_json['sha256']
except:
    print("keyError: Fail to delete sha256 hash key")
try:
    del response_json['sha384']
except:
    print("keyError: Fail to delete sha384 hash key")
try:
    del response_json['sha512']
except:
    print("keyError: Fail to delete sha512 hash key")   

我可以这样做,但是如果第一个 del 代码引发错误,那么其余代码将不会被执行,对吧?

try:
    del response_json['sha1']
    del response_json['sha224']
    del response_json['sha256']
    del response_json['sha384']
    del response_json['sha512']
except:
    print("keyError: Fail to delete hash key")

谢谢您阅读此篇

标签: pythontry-catchexcept

解决方案


使用循环迭代值

lst = ['sha1','sha224','sha256','sha384','sha512']
for s in lst:
    try:
        del response_json[s]
    except:
        print(f"keyError: Fail to delete {s} hash key")

推荐阅读