Python 使用';类别';属性抛出语法错误
当我尝试使用Python 使用';类别';属性抛出语法错误,python,lxml,Python,Lxml,当我尝试使用lxml模块执行此操作时: div = etree.SubElement(body, "div", class="hmi") 我得到一个: user@localhost:metk $ sudo python mbscan.py -r 192.168.0.0/24 --hmi File "mbscan.py", line 481 div = etree.SubElement(body, "div", class="hmi")
lxml
模块执行此操作时:
div = etree.SubElement(body, "div", class="hmi")
我得到一个:
user@localhost:metk $ sudo python mbscan.py -r 192.168.0.0/24 --hmi
File "mbscan.py", line 481
div = etree.SubElement(body, "div", class="hmi")
^
SyntaxError: invalid syntax
因为类是为Python保留的关键字,用于其他用途。例如:
div = etree.SubElement(body, "div", hello="hmi")
很好
我知道在lxml
中有另一个专门为html
制作的引擎,但是为了使我的xml
和html
报表生成器尽可能相似,我想知道这里是否还有其他解决方法
如何创建带有
class
属性的xml
标记而不打乱Python?定义属性字典并将其作为attrib
参数传递
例如:
>>> from lxml.html import Element, tostring
>>>
>>> div = Element("div", attrib={"class": "hmi"})
>>>
>>> print(tostring(div))
<div class="hmi"></div>
来自lxml.html导入元素tostring的>
>>>
>>>div=元素(“div”,attrib={“类”:“hmi”})
>>>
>>>打印(tostring(div))
注意,我在这里使用的是lxml.html
,但同样的想法也适用于etree