Python 写入 XML 而不是覆盖输入
Python writing to XML and not over writing input
我正在尝试创建一个程序,允许我获取人们的信息,然后将其写入 xml 文档,保存,然后一旦程序再次 运行,它会从我离开的地方开始。我现在得到的只是一遍又一遍地覆盖同一行。它显示
<person>
<name>Users Name</name>
</person>
就是这样。我需要它来做
<person>
<name>User 1</name>
</person>
<person>
<name>User 2</name>
</person>
等等……我还在写代码,但是如果我不能写代码,写代码就没有意义了。我试过 open('person.xml','(w,r,a') 但仍然没有。我的代码是
您需要仅使用 a
添加到文件而不是覆盖:
with open("your.xml", "a") as f:
tree.write(f)
w
截断您的文件数据,因此基本上您在写入之前清空文件,因此您只能看到一个条目,.
当您想向其中写入内容时,应在 append mode
中打开您的文件,以免现有内容被替换。
您应该更改这行代码:
tree.write(open('person.xml', 'w'))
这个(注意 a
而不是 w
):
tree.write(open('person.xml', 'a'))
r
:以读取模式打开文件
w
: 以write模式打开文件
a
: 在 append 模式下打开文件
我正在尝试创建一个程序,允许我获取人们的信息,然后将其写入 xml 文档,保存,然后一旦程序再次 运行,它会从我离开的地方开始。我现在得到的只是一遍又一遍地覆盖同一行。它显示
<person>
<name>Users Name</name>
</person>
就是这样。我需要它来做
<person>
<name>User 1</name>
</person>
<person>
<name>User 2</name>
</person>
等等……我还在写代码,但是如果我不能写代码,写代码就没有意义了。我试过 open('person.xml','(w,r,a') 但仍然没有。我的代码是
您需要仅使用 a
添加到文件而不是覆盖:
with open("your.xml", "a") as f:
tree.write(f)
w
截断您的文件数据,因此基本上您在写入之前清空文件,因此您只能看到一个条目,.
当您想向其中写入内容时,应在 append mode
中打开您的文件,以免现有内容被替换。
您应该更改这行代码:
tree.write(open('person.xml', 'w'))
这个(注意 a
而不是 w
):
tree.write(open('person.xml', 'a'))
r
:以读取模式打开文件
w
: 以write模式打开文件
a
: 在 append 模式下打开文件