0

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

2 回答 2

0

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

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

set是一个内置函数,所以不要通过命名你的变量来隐藏它set。此外,如果您要创建任何重要的 XML,请使用 XML 库,如ElementTreelxml

于 2013-03-25T03:49:14.143 回答
0

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

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

于 2013-03-25T03:50:46.760 回答