运行python代码后,XML文件中没有修改
我编写了一段代码,必须修改xml文件中的一些值。它看起来很有效,但是当我打开这个xml文件,并在其中添加了修改过的文件时,它没有改变任何事情。如果有人回答这样的问题,请告诉我它在哪里。下面是代码和xml运行python代码后,XML文件中没有修改,python,xml,elementtree,Python,Xml,Elementtree,我编写了一段代码,必须修改xml文件中的一些值。它看起来很有效,但是当我打开这个xml文件,并在其中添加了修改过的文件时,它没有改变任何事情。如果有人回答这样的问题,请告诉我它在哪里。下面是代码和xml import xml.etree.ElementTree as ET tree = ET.parse("farms.xml") root = tree.getroot() for elem in root.findall('farm'): elem.set('mone
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
这对我很有用。
另外,
print(xml.etree.ElementTree.tostring(root))
将显示您期望的内容。您缺少的是将
树写回磁盘
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)
您似乎没有在文件系统中包含任何将更改写回文件的代码-您能详细说明一下您是如何得出结论的,这里提供的代码应该以其他方式运行的吗?我认为set函数会在元素中更改字符串,并将money改为2000。IDK为什么“不工作”这是我第一次使用xml,你能告诉我怎么做吗?我应该在哪里添加它。这是代码的V2。import xml.etree.ElementTree as ET def main(char):tree=ET.parse(“farms.xml”)root=tree.getroot(),用于root.findall('farm'):elem.set('money','2000')money=elem.get(str(char))print(xml.etree.ElementTree.tostring(root)),如果(输入(“要设置的数量”))主(字符)
哦,对此我很抱歉,希望你能得到这样的想法:it仍然不适合我,它对你有什么改变,你正在使用的设置是什么?init确实可以,但问题是我不需要创建新文件,你能帮我替换这个文件中的信息吗?当然。只需更改打开('new\u farms.xml','wb')
到打开('farms.xml',wb')
@很高兴我能帮上忙。请随意投票。
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)