从列表中将数据写入xml文件

时间:2013-03-25 03:44:18

标签: python

我正在尝试使用以下代码将列表中的数据写入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>

2 个答案:

答案 0 :(得分:0)

您没有将字符串传递给.write()

f.write('<pro>' + set[0] + '</pro>')

set是一个内置函数,因此请不要通过命名变量set来遮蔽它。此外,如果您要创建任何非平凡的XML,请使用ElementTreelxml等XML库。

答案 1 :(得分:0)

您需要将字符串传递给f.write(例如f.write("<pro>%s</pro>" % (set[0])))。

旁注,避免将变量命名为“set”,因为它是内置类型。