我正在尝试创建一个程序,允许我接收人员信息,然后将其写入xml文档,保存,然后一旦程序再次运行,它将从我离开的地方继续。我现在所得到的就是我一遍又一遍地覆盖同一条线。它显示
<person>
<name>Users Name</name>
</person>
就是这样。我需要它做
<person>
<name>User 1</name>
</person>
<person>
<name>User 2</name>
</person>
所以等等......我仍然在研究代码,但是如果我不能写代码那就没有意义。我试过打开(&#39; person.xml&#39;(w,r,a&#39;)但仍然没有。我的代码是
答案 0 :(得分:1)
您需要使用a
而不是覆盖来附加到文件:
with open("your.xml", "a") as f:
tree.write(f)
w
会截断您的文件数据,所以基本上您在写入之前清空文件,因此只能看到一个条目。
答案 1 :(得分:1)
当您想要写一些内容时,应该在append mode
中打开您的文件,以便不会替换现有内容。
你应该改变这行代码:
tree.write(open('person.xml', 'w'))
这一个(通知a
而不是w
):
tree.write(open('person.xml', 'a'))
r
:以读取模式打开文件
w
:以写入模式打开文件
a
:以追加模式