Python 如何解析看起来像xml文件但有多个根的配置文件 意外要求50 事件日志记录无 启用跟踪编号 日志戳日期时间 bmi_tcp模块 FlowModules flowproto_多队列 灌注更新间隔1000 ServerJobMitimeOutSecs 30 ServerJobFlowTimeoutSecs 30 ClientJobMitimeOutSecs 300 ClientJobFlowTimeoutSecs 300 ClientRetryLimit 5 ClientRetryDelay毫秒2000 预处理批次大小0,32512,32,32,32,0 预处理阈值0,16256,16,16,16,0 数据存储空间/dev/shm Metadatastorespace/dev/shm 日志文件/tmp/pvfs2-server.log 别名榆树tcp://elm:3334 别名枫树tcp://maple:3334 别名松tcp://pine:3334 别名云杉tcp://spruce:3334 名称pvfs2 fs 身份证号码13955188 根手柄1048576 是的 范围elm 3-1152921504606846977 范围:枫树11529215060846978-2305843009213693952 兰奇松树2305843009213693953-3458764513820540927 云杉3458764513820540928-4611686018427387902 范围elm 4611686018427387903-5764607523034234877 范围:枫树5764607523034234878-6917529027641081852 松林6917529027641081853-8070450532247928827 云杉系列8070450532247928828-9223372036854775802 TroveSyncMeta是的 Trovesyncatano TroveMethod alt aio

Python 如何解析看起来像xml文件但有多个根的配置文件 意外要求50 事件日志记录无 启用跟踪编号 日志戳日期时间 bmi_tcp模块 FlowModules flowproto_多队列 灌注更新间隔1000 ServerJobMitimeOutSecs 30 ServerJobFlowTimeoutSecs 30 ClientJobMitimeOutSecs 300 ClientJobFlowTimeoutSecs 300 ClientRetryLimit 5 ClientRetryDelay毫秒2000 预处理批次大小0,32512,32,32,32,0 预处理阈值0,16256,16,16,16,0 数据存储空间/dev/shm Metadatastorespace/dev/shm 日志文件/tmp/pvfs2-server.log 别名榆树tcp://elm:3334 别名枫树tcp://maple:3334 别名松tcp://pine:3334 别名云杉tcp://spruce:3334 名称pvfs2 fs 身份证号码13955188 根手柄1048576 是的 范围elm 3-1152921504606846977 范围:枫树11529215060846978-2305843009213693952 兰奇松树2305843009213693953-3458764513820540927 云杉3458764513820540928-4611686018427387902 范围elm 4611686018427387903-5764607523034234877 范围:枫树5764607523034234878-6917529027641081852 松林6917529027641081853-8070450532247928827 云杉系列8070450532247928828-9223372036854775802 TroveSyncMeta是的 Trovesyncatano TroveMethod alt aio,python,tags,config,Python,Tags,Config,这是一个例子。我想创建一个脚本来更改标记Default和标记文件系统的内容。因为它不是xml文件,所以xml解析无法工作。我想做的是,例如,我需要从命令行获取输入,如果我给出--UnexpectedRequests 100,它应该将值从UnexpectedRequests 50修改为UnexpectedRequests 100。如果我想更改StorageHights中的值,它需要转到该节点并更改该值,如果我决定将新值添加到默认值,我应该可以这样做 请帮助我…我被这件事困住了,我无法继续我的项目。

这是一个例子。我想创建一个脚本来更改标记Default和标记文件系统的内容。因为它不是xml文件,所以xml解析无法工作。我想做的是,例如,我需要从命令行获取输入,如果我给出--UnexpectedRequests 100,它应该将值从UnexpectedRequests 50修改为UnexpectedRequests 100。如果我想更改StorageHights中的值,它需要转到该节点并更改该值,如果我决定将新值添加到默认值,我应该可以这样做

请帮助我…我被这件事困住了,我无法继续我的项目。这不是我需要处理的主要代码。这段代码有1000行,这只是一个小样本,教我如何制作


还需要使用python编写脚本。

在解析之前,您可以尝试添加一个伪根节点来封装所有内容
<Defaults>
        UnexpectedRequests 50
        EventLogging none
        EnableTracing no
        LogStamp datetime
        BMIModules bmi_tcp
        FlowModules flowproto_multiqueue
        PerfUpdateInterval 1000
        ServerJobBMITimeoutSecs 30
        ServerJobFlowTimeoutSecs 30
        ClientJobBMITimeoutSecs 300
        ClientJobFlowTimeoutSecs 300
        ClientRetryLimit 5
        ClientRetryDelayMilliSecs 2000
        PrecreateBatchSize 0,32,512,32,32,32,0
        PrecreateLowThreshold 0,16,256,16,16,16,0

        DataStorageSpace /dev/shm
        MetadataStorageSpace /dev/shm

        LogFile /tmp/pvfs2-server.log
</Defaults>

<Aliases>
        Alias elm tcp://elm:3334
        Alias maple tcp://maple:3334
        Alias pine tcp://pine:3334
        Alias spruce tcp://spruce:3334
</Aliases>

<Filesystem>
    Name pvfs2-fs
        ID 13955188
        RootHandle 1048576
        FileStuffing yes
        <MetaHandleRanges>
                Range elm 3-1152921504606846977
                Range maple 1152921504606846978-2305843009213693952
                Range pine 2305843009213693953-3458764513820540927
                Range spruce 3458764513820540928-4611686018427387902
        </MetaHandleRanges>
        <DataHandleRanges>
                Range elm 4611686018427387903-5764607523034234877
                Range maple 5764607523034234878-6917529027641081852
                Range pine 6917529027641081853-8070450532247928827
                Range spruce 8070450532247928828-9223372036854775802
        </DataHandleRanges>
        <StorageHints>
                TroveSyncMeta yes
                TroveSyncData no
                TroveMethod alt-aio
        </StorageHints>
</Filesystem>