我有一个XML文档,在它已经包含数据之后,我想对其进行更新。
我考虑过要在"a"(附加)模式下打开XML文件。问题在于新数据将在根结束标记之后写入。
"a"
如何删除文件的最后一行,然后从该点开始写入数据,然后关闭根标签?
当然,我可以读取整个文件并进行一些字符串操作,但是我认为这不是最好的主意。
谢谢你的时间。
您绝对 不应该做 的快速简便的方法(请参阅下文)是使用来将整个文件读入字符串列表readlines()。我写这篇文章的目的是为了找到您所需要的快速简便的解决方案。
readlines()
只需使用打开文件open(),然后调用readlines()方法即可。您将获得文件中所有字符串的列表。现在,您可以轻松地在最后一个元素之前添加字符串(只需将最后一个元素之前的元素添加到列表中)。最后,您可以使用将它们写回到文件中writelines()。
open()
writelines()
一个示例可能会有所帮助:
my_file = open(filename, "r") lines_of_file = my_file.readlines() lines_of_file.insert(-1, "This line is added one before the last line") my_file.writelines(lines_of_file)
您不应该这样做的原因是,除非您做得非常快,否则您应该使用XML解析器。这是一个库,可让您使用DOM,树和节点等概念来智能地使用XML。这不仅是使用XML的正确方法,还是标准的方法,使您的代码更加可移植,并易于其他程序员理解。
蒂姆的答案提到xml.dom.minidom为此目的进行检查,我认为这是个好主意。
xml.dom.minidom