Python: Local variable reference before assignment
本问题已经有最佳答案,请猛点这里访问。
我正在尝试使用elementree将XML文件转换为字典。XML文件中有各种各样的标记,但是对于每个记录,ID标记都是主键。所以我试图创建的字典将父标记作为ID,所有其他属性作为子键。但我得到一个unboundLocalError,它说"局部变量x是赋值前的引用"。代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 | tree = ET.parse(xml_file) root = tree.getroot() temp_dict={} def create_dict(): test_dict = {} for child in root.iter(): if subchild.tag=='ID': x=(child.text) else: test_dict[subchild.tag]= subchild.text temp_dict[x]=test_dict return ( temp_dict) |
这不起作用,您必须用根值或
带条件的示例,例如:
1 2 3 4 5 6 7 8 9 10 11 12 | ... temp_dict={} x = None def create_dict(): ... if subchild.tag=='ID': x = test_dict ... if x: temp_dict[x]=test_dict ... |