123lqqq 发表于 2023-3-2 16:11:33

求问大佬们代码没报错但是运行没结果

需要用python代码改一个xml文件里的数值,代码没报错,但是运行后rhop0 value的属性还是没改。
{:5_100:} {:5_100:} 谢谢各位大佬,非常感谢{:5_100:}

from xml.etree import ElementTree as ET
f = open(r'C:\Users\QQLiao\Desktop\ruanzhu.xml\casedef.xml')
xml_text = f.read()
root = ET.fromstring(xml_text)
f.close()
rhop0 = root.find('casedef').find('constantsdef').find('rhop0 value')
root.attrib
rhop0 =root.set('rhop0 value','1200')
root.attrib
tree = ET.ElementTree(root)
tree.write("new.xml",encoding= 'utf-8')# -*- coding: utf-8 -*-
下面xml文件部分内容

<?xml version="1.0" encoding="UTF-8" ?>
<case>
    <casedef>
      <constantsdef>
            <lattice bound="1" fluid="1" />
            <gravity x="0" y="0" z="-9.81" comment="Gravitational acceleration" units_comment="m/s^2" />
            <rhop0 value="1000" comment="Reference density of the fluid" units_comment="kg/m^3" />

isdkz 发表于 2023-3-2 16:19:02

本帖最后由 isdkz 于 2023-3-2 16:28 编辑

from xml.etree import ElementTree as ET
f = open(r'C:\Users\QQLiao\Desktop\ruanzhu.xml\casedef.xml')
xml_text = f.read()
root = ET.fromstring(xml_text)
f.close()
rhop0 = root.find('casedef').find('constantsdef').find('rhop0')               # 改了这里
root.attrib
rhop0.set('value','1200')                                                                     # 改了这里
root.attrib
tree = ET.ElementTree(root)
tree.write("new.xml",encoding= 'utf-8')

123lqqq 发表于 2023-3-2 16:26:05

数据还是没有改{:5_100:}谢谢您!十分感谢

isdkz 发表于 2023-3-2 16:28:49

123lqqq 发表于 2023-3-2 16:26
数据还是没有改谢谢您!十分感谢

我这里是改了的,我调试的时候改了路径,你没有改回来吗?

isdkz 发表于 2023-3-2 16:30:51

123lqqq 发表于 2023-3-2 16:26
数据还是没有改谢谢您!十分感谢



你是要改这个值吧,我调试了是修改成功了,我把路径给你改回来了,你再试试

123lqqq 发表于 2023-3-2 16:37:28

我改了路径了,我也不知为什么数据没改,我换一个文件试试

isdkz 发表于 2023-3-2 16:46:57

123lqqq 发表于 2023-3-2 16:37
我改了路径了,我也不知为什么数据没改,我换一个文件试试

那你 print 一下 rhop0 看看有没有找到这个元素

123lqqq 发表于 2023-3-2 16:58:51

好滴!!!

123lqqq 发表于 2023-3-2 17:10:47

Element 'rhop0' at 0x0000014C99BA79F0
这个应该是能找到的吧,但是我文件里的值依然没有改{:5_100:}

isdkz 发表于 2023-3-2 19:23:37

本帖最后由 isdkz 于 2023-3-2 19:25 编辑

123lqqq 发表于 2023-3-2 17:10
Element 'rhop0' at 0x0000014C99BA79F0
这个应该是能找到的吧,但是我文件里的值依然没有改

这样就是找到了,会不会是因为你看错文件了?他修改后输出的文件是 new.xml ,而不是原来的 casedef.xml

还有下次回消息要在我的消息那里点回复,不要直接在你的帖子下面发,不然我都不知道你给我回了

123lqqq 发表于 2023-3-4 18:39:27

isdkz 发表于 2023-3-2 19:23
这样就是找到了,会不会是因为你看错文件了?他修改后输出的文件是 new.xml ,而不是原来的 casedef.xm ...

好的啊哈哈哈哈哈,我今天才看到新消息,谢谢大佬!!!!
页: [1]
查看完整版本: 求问大佬们代码没报错但是运行没结果