Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中的EXPECT子句中将变量值设置为空字符串_Python_Try Catch_Except - Fatal编程技术网

在python中的EXPECT子句中将变量值设置为空字符串

在python中的EXPECT子句中将变量值设置为空字符串,python,try-catch,except,Python,Try Catch,Except,我的问题是,我正在为try子句中的多个变量设置一些值。我想要的是,当变量的一个值不可用时,它应该是except子句中的空字符串,但只适用于不可用的变量。 供你参考,这是我的try条款 try: app_source_name_attr = json_data["APP_DATA"]['metadata']["app_source_name"] source_type_attr = json_data['APP_DATA']['metadata']['sourc

我的问题是,我正在为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子句应该是怎样的呢


提前感谢

您可以将空字符串值放在
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

您可以将空字符串值放在
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\u source\u name\u attr='
,则需要检查变量是否已定义。顺便说一句,如果我的回答能解决你的问题,你可以把我的回答标记为已被接受。非常感谢。我想知道还有没有别的办法?这对我来说很好,谢谢你。另外一种方法可能更难。例如,如果要在
except
子句中设置
app\u source\u name\u attr='
,则需要检查变量是否已定义。顺便说一句,如果我的答案解决了你的问题,你可以把它标记为接受。