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を作成する場合は、 ElementTreelxmlなどのXMLライブラリを使用してください。

于 2013-03-25T03:49:14.143 に答える
0

f.writeに文字列を渡す必要があります(例:)f.write("<pro>%s</pro>" % (set[0]))

ちなみに、変数は組み込み型であるため、変数に「セット」という名前を付けることは避けてください。

于 2013-03-25T03:50:46.760 に答える