gpt4 book ai didi

python - .set() 方法不在 Python 的 xml.etree 库中?

转载 作者:太空宇宙 更新时间:2023-11-03 19:30:05 26 4
gpt4 key购买 nike

正在使用 Python 创建包含一些数据的 XML 文件。我正在尝试将字典中的值设置为列表中的数据。我将制作多行,因此这就是我以这种方式引用每个值的原因。多谢你们。这是我的代码:

from xml.etree import ElementTree as ET

root = ET.Element("painter")
root.set('version', '1.0')
linenum = 0
pointnum = 0

smpl_data = [[[20,40],(0,0,1,1)],[[10,50],(0,0,1,1)],[[78,89],(0,0,1,1)]]

while linenum <= len(smpl_data): #smpl_data change to self.lines
elem_line = ET.SubElement(root,"line" + str(linenum), attrib={"r": "1", "g": "2", "b": "3", "a": "4"})
print elem_line
print elem_line.attrib.get("r")
print elem_line.attrib.set("r", "smpl_data[linenum][2]")
# I get an attribute error: 'dict' object has no attribute 'set'

尽管文档中清楚地显示了...

http://docs.python.org/library/xml.etree.elementtree.html#xml.etree.ElementTree.Element.set

感谢您的帮助。

最佳答案

您正在 Elementattrib 成员上调用 get()set()attrib 是一个常规的旧 Python 字典,没有 set() 函数。您链接的文档适用于实际 Element 对象本身的 set() 函数。

要在 attrib 成员中设置值,您可以使用:

elem_line.attrib['r'] = smpl_data[linenum][2]

如果您想改用Element:

elem_line.get('r')
elem_line.set('r', smpl_data[linenum][2])

关于python - .set() 方法不在 Python 的 xml.etree 库中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6334573/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com