python 实现遍里文件夹操作xml文件

上次发了Java操作的,今天来篇python操作的,上代码:

复制代码
import os.path
import xml.dom.minidom

# path = '/home/kanghao/learning_something/about_xml/xml/'
path = 'C:/Users/Administrator/Desktop/37227'
files = os.listdir(path)  # 得到文件夹下所有文件名称

for xmlFile in files:  # 遍历文件夹
    if not os.path.isdir(xmlFile):  # 判断是否是文件夹,不是文件夹才打开
        print('文件名称:' + xmlFile)
        dom = xml.dom.minidom.parse(os.path.join(path, xmlFile))  # 将获取的xml文件名送入到dom解析
        root = dom.documentElement
        y = root.getElementsByTagName('smr')
        if len(y) == 0:
            measure = dom.getElementsByTagName('measurement')[0]  # 获取上层节点
            smr = dom.createElement('smr')  # 创建要添加的节点
            obj = dom.getElementsByTagName('object')[0]  # 获取下层节点
            measure.insertBefore(smr, obj)  # 将节点在下层节点之前添加到上层节点
            smrValue = dom.createTextNode('MR.LteScRSRP MR.LteScRSRQ MR.LteScEarfcn MR.LteScPci MR.LteScCgi '
                                          'MR.LteNcRSRP MR.LteNcRSRQ MR.LteNcEarfcn MR.LteNcPci MR.GsmNcellBcch '
                                          'MR.GsmNcellCarrierRSSI MR.GsmNcellNcc MR.GsmNcellBcc MR.UtraCpichRSCP '
                                          'MR.UtraCarrierRSSI MR.UtraCpichEcNo MR.UtraCellParameterId')
            smr.appendChild(smrValue)  # 给<smr>节点添加值
        x = root.getElementsByTagName('v')  ###获取标签对v的值
        print(len(x))
        for i in range(len(x)):
            n0 = x[i]
            isl = n0.firstChild.data.find(' ')
            if isl == -1:
                n0.firstChild.data = int(n0.firstChild.data) - 135
            else:
                n0.firstChild.data = str(int(n0.firstChild.data[0:isl]) - 135) + n0.firstChild.data[isl:]  # 修改数据
        with open(os.path.join(path, xmlFile), 'w') as fh:
            dom.writexml(fh)
复制代码

 

posted @   过氧化氢  阅读(452)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示