擅长:python、mysql、java
<p>从中我可以看到,您从未在本地和全局范围内预定义acc_名称。
如果将<code>acc_name = 'something'</code>添加到<code>print("Stopping account " + acc_name + " in region " + rg_name)</code>之前的任何位置,则错误将不存在。</p>
<p>代码中的错误是<code>if type == "accounts"</code>但类型不是'accounts',因此<code>acc_name = accounts['data']['account']</code>从未运行。</p>
<p>试试这个:</p>
<pre><code>for i in included:
global signs,accounts, regions
global sign_name, acc_name, rg_name
if type == "regions":
regions = i
rg_name = regions['data']['region']
else:
rg_name="No regions" #backup str
if type == "accounts":
accounts = i
acc_name = accounts['data']['account']
else:
acc_name="No accounts" #backup str
print("Stopping account " + acc_name + " in region " + rg_name)
</code></pre>
<p>这样就不会出错了</p>
<p>我不知道那是不是你的代码,但是<code>global</code>命令只需要在函数内部使用,因为它不需要在其他地方使用。</p>
<p>另外,需要注意的是,如果代码再多一点,类型就不是一个好的变量,因为它也是一个内置的方法。</p>