繁体   English   中英

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 :以模式打开文件
a :以追加模式打开文件

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM