首页 > 解决方案 > 运行python代码后XML文件没有修改

问题描述

我编写了一个必须修改 xml 文件中的某些值的代码。它看起来正在工作,但是当我打开这个 xml 文件时,我将 PyCharm 扔到我添加了修改后的文件的地方,它并没有改变任何东西。如果有人回答了这样的问题,请指出它在哪里。这是代码以及xml。

import xml.etree.ElementTree as ET
tree = ET.parse("farms.xml")
root = tree.getroot()
for elem in root.findall('farm'):
    elem.set('money', '2000')
    money = elem.get('money')
    print(money)

xml

<farms>
  <farm farmId="1" name="Моя ферма" color="1" loan="0.000000" money="213" loanAnnualInterestRate="304.166656">
  <players>
  </players>       
 </farm>
</farms>

标签: pythonxmlelementtree

解决方案


您缺少的是写tree回磁盘。

import xml.etree.ElementTree as ET

tree = ET.parse("farms.xml")
root = tree.getroot()
for elem in root.findall('farm'):
    elem.set('money', '2000')
with open('new_farms.xml', 'wb') as f:
    tree.write(f)

推荐阅读