python根据模板中的MML,批量生成小区脚本

使用Python编程,依据特定的MML模板,高效自动化地生成一系列小区配置脚本,简化了繁琐的手动操作,提高了测试工具的使用效率。
摘要由CSDN通过智能技术生成
import os
import math
import re

def Generate_Batch_Scripts_mml(sourepath, templatepath, parentnode):
    """
    根据模板中的MML,批量生成小区的MML脚本
    template:MML模板,UCELLID=XXX,UNODEB=YYY
    source:原始数据,如导出的CFGMML,主要是用于提取CELLID,以ADD UCELLSETUP中的小区为准
    parentnode:(str)主键从父节点中获取,如CELLID从ADD UCELLSETUP中获取
    return:result增量脚本结果
    """
    # 1.获取主键
    # 环境导出的CFGMML
    soure = open(sourepath, 'r', encoding='utf-8')
    lines1 = soure.readlines()
    keywordlines = []
    for l in lines1:
        if parentnode.strip() in l:
            res = re.search(r'ucellid=\d+', l).group()
            keywordlines.append(res)
    # print("keywordlines=", keywordlines, type(keywordlines))
    soure.close()
    # 2.获取模板替换主键并批量生成MML
    # MML模板
    template = open(templatepath, 'r', encoding='utf-8')
    result = open(r"D:\pycharm\01 Get_MML\re
使用Python提取华为网管MML命令输出内容可以通过以下步骤实现: 1. 使用Python的telnetlib库建立与华为网管的Telnet连接。 2. 通过telnet连接发送MML命令。例如,可以使用telnet.write()函数发送MML命令,如telnet.write("LST ALM:;")。 3. 通过telnet连接接收并读取MML命令的输出内容。可以使用telnet.read()函数读取输出内容。 4. 对输出内容进行处理和解析。可以使用字符串处理函数(如split()、strip())和正则表达式(如re模块)来处理输出内容,提取所需信息。 5. 将提取的结果进行进一步处理或保存。可以将结果写入文件、存储到数据库,或直接输出到终端。 示例代码如下: ```python import telnetlib host = "192.168.1.1" # 华为网管IP地址 port = 23 # Telnet端口号 mml_command = "LST ALM:;" # 需要执行的MML命令 # 建立Telnet连接 tn = telnetlib.Telnet(host, port) # 发送MML命令 tn.write(mml_command.encode('ascii') + b"\r\n") # 读取输出内容 output = tn.read_until(b"logout") # 读取输出内容,直到遇到"logout"字符串 # 关闭Telnet连接 tn.close() # 处理和解析输出内容 # 例如,利用正则表达式提取告警信息 import re alarms = re.findall(r"ALARM INFO: (.*?)\r\n", output.decode('ascii')) # 输出提取结果 for alarm in alarms: print(alarm) ``` 这段代码建立与华为网管的Telnet连接,发送"MML命令",并读取输出内容。然后使用正则表达式解析输出内容,并提取告警信息。最后将提取的告警信息输出到终端上。根据实际需求,你可以根据输出内容的格式进行适当修改和调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值