请参阅For循环外部的变量

时间:2014-04-19 10:42:19

标签: python variables scope

我正在使用此Python代码来读取Windows INI文件

from ConfigParser import SafeConfigParser

parser = SafeConfigParser()
parser.read('someinifile.ini')

for section_name in parser.sections():
    for name, value in parser.items(section_name):
        print '  %s = %s' % (name, value)
    lastkey = name

当我尝试将最后一个键名称放入名为“lastkey”的变量时,工作完全正常。但是如果你注意到我试图在“for name,value”循环之外读取“name”变量。这是非法还是不正确? :-)我确实得到了lastkey中的最后一个关键名称,但是想知道我在这里做错了什么。我对编写错误的代码过敏,因此总是倾向于在有疑问时澄清。而且我对Python也是全新的“,”

1 个答案:

答案 0 :(得分:1)

如果parser.items(section_name)为空,则永远不会初始化名称。 在评估行lastkey = name时,您会收到“NameError:name'name'未定义”异常。

所以不要忘记考虑parser.items(section_name)为空的情况。