如何解决python中forloop中的名称未定义错误
虽然我已经正确定义了名称,但我正在获取未在python块中定义的名称
我尝试了什么:
accounts = ['abcd','abcde']
for account in accounts:
print(account)
new_col = 0
terminated_col = 0
try:
ak = jout['data']['client_id']
sk = jout['data']['client_secret']
credential = ServicePrincipalCredentials(tenant=tenant_var,client_id=ak,secret=sk)
subscription_client = SubscriptionClient(credential)
subscription = next(subscription_client.subscriptions.list())
resource_client = ResourceManagementClient(credential,subscription.subscription_id)
time.sleep(10)
except Exception as e:
print(e)
for rg in resource_client.resource_groups.list():
try:
print(rg.name)
except Exception as e:
print(e)
得到类似这样的错误
for rg in resource_client.resource_groups.list():
NameError: name 'resource_client' is not defined
实际上检查列表中所有帐户的这些,因此理想情况下上述是正确的吗?有人可以建议
解决方法
在您定义错误之前,似乎发生了该错误。我建议在try和except语句中都定义它。基本上:
except Exception as e:
resource_client = ResourceManagementClient(credential,subscription.subscription_id)
print(e)
,
resource_client
仅在try
范围内可用。在尝试之前,添加一个resource_client = None
进行声明。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。