我正在尝试使用以下代码将列表中的数据写入xml文件,我有关于数据应该如何存在于data.xml文件中的预期输出...遇到编译错误,任何人都可以提供输入这里有什么问题?
data = [['SEC.12.0', '\\\\DATA\\LOC', '\\\\ftp\\location'], ['SEC.13.0', '\\\\DATA\\LOC2', '\\\\ftp\\location2']]
for set in data :
f = open('data.xml', 'w')
f.write(<pro>set[0]</pro>)
f.write(<dataloc>set[1]</dataloc>)
f.write(<ftploc>set[2]</ftploc>)
错误: -
File "test.py", line 8
f.write(<pro>set[0]</pro>)
^
SyntaxError: invalid syntax
预期输出: -
data.xml file should contain the follwing
<pro>SEC.12.0</pro>
<dataloc>\\DATA\LOC</dataloc>
<ftploc>\\ftp\location</ftploc>
<pro>SEC.13.0</pro>
<dataloc>\\DATA\LOC2</dataloc>
<ftploc>\\ftp\location2</ftploc>
答案 0 :(得分:0)
您没有将字符串传递给.write()
:
f.write('<pro>' + set[0] + '</pro>')
set
是一个内置函数,因此请不要通过命名变量set
来遮蔽它。此外,如果您要创建任何非平凡的XML,请使用ElementTree或lxml等XML库。
答案 1 :(得分:0)
您需要将字符串传递给f.write(例如f.write("<pro>%s</pro>" % (set[0]))
)。
旁注,避免将变量命名为“set”,因为它是内置类型。