用python3实现对HDS-AMS2500存储PORT信息分析提取

1、存储信息原文本文件的获得:

      登录到存储,Settings-->Constitute Array-->Ports Information-->Get Configurations可将PORT信息存为文本文件(port.txt)。

2、python3源代码:

import re
import xlwt
def xlwtline(sheet,line,line_contents):
    i = 0
    for j in line_contents:
        sheet.write(line,i,j)
        i = i+1  


my_wb = xlwt.Workbook()
my_sheet = my_wb.add_sheet("AMS2500-port-configration")
c_line=0
xlwtline(my_sheet, c_line, ("控制器","端口号","主机组号","主机组名","LUNS"))
c_line += 1
fn="E:/users/workspace/pytest/data/port.txt"
input_file = open(fn,"r")
contents = input_file.read()
ctl = re.findall('(?<=---- CTL(\d) ----)(.*?)(?=---- CTL)',contents+"---- CTL",re.S|re.M)
for i in ctl:
    port = re.findall('(?<=---- Port(\S) ----)(.*?)(?=---- Port\S ----)',i[1]+"---- PortZ ----",re.S|re.M)
    for j in port:
        hostgroup=re.findall('---- HostGroupInformation ----(.*?)-- HostGroupInformationEnd',j[1],re.S|re.M)
        for k in hostgroup:
            hg_num = re.search('HostGroupNumber = (\d+)', k).group(1)
            hg_name = re.search('HostGroupName = "(.*)"', k).group(1)
            luns=re.finditer('\d+ +(\d+)', k, re.S|re.M)
            hg_luns = ""
            for l in luns:
                hg_luns = '%s %s' % (hg_luns,l.group(1))
            xlwtline(my_sheet, c_line, (i[0],j[0],hg_num,hg_name,hg_luns))
            c_line += 1
my_wb.save("data/port.xls")  #结果存放在该excel表中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值