【问题标题】:setting variables values to empty string in except clause in python在python的except子句中将变量值设置为空字符串
【发布时间】:2019-03-05 19:29:20
【问题描述】:

我的问题是,我在 try 子句中为多个变量设置了一些值。我想要的是,当变量的值之一不可用时,它应该是 except 子句中的空字符串,但仅适用于那些不可用的变量。 供您参考,这是我的 try 子句...

  try:
        app_source_name_attr = json_data["APP_DATA"]['metadata']["app_source_name"]
        source_type_attr = json_data['APP_DATA']['metadata']['source_attributes_jsonb']['source_type']
        utm_source_attr = json_data['APP_DATA']['metadata']['source_attributes_jsonb']['utm_source']
        utm_medium_attr = json_data["APP_DATA"]['metadata']['source_attributes_jsonb']['utm_medium']
        utm_campaign_attr = json_data["APP_DATA"]["metadata"]["source_attributes_jsonb"]["utm_campaign"]
        utm_campaignid_attr = json_data["APP_DATA"]["metadata"]["source_attributes_jsonb"]["utm_campaignid"]

如果值不可用,我想将空字符串传递给该变量,否则应该传递我在 try 子句中设置的值。 那么,except子句应该怎么写呢?

提前致谢

【问题讨论】:

    标签: python try-catch except


    【解决方案1】:

    您可以在try子句之前放置空字符串值,例如一个变量:

    app_source_name_attr = ''
    try:
        app_source_name_attr = json_data["APP_DATA"]['metadata']["app_source_name"]
    except Exception:
        pass
    print(app_source_name_attr)  # will print empty string if exception occured inside try-except block
    

    【讨论】:

    • 像魅力兄弟一样工作。万分感谢。我想知道是否还有其他方法可以做到这一点?不过这对我来说效果很好,谢谢。
    • 另一种方法可能更困难。例如,如果要在except 子句中设置app_source_name_attr = '',则需要检查变量是否已定义。顺便说一句,如果我的回答解决了您的问题,您可以将其标记为已接受。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多