当前位置: 首页>>代码示例>>Python>>正文


Python CiscoConfParse.find_blocks方法代码示例

本文整理汇总了Python中ciscoconfparse.CiscoConfParse.find_blocks方法的典型用法代码示例。如果您正苦于以下问题:Python CiscoConfParse.find_blocks方法的具体用法?Python CiscoConfParse.find_blocks怎么用?Python CiscoConfParse.find_blocks使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ciscoconfparse.CiscoConfParse的用法示例。


在下文中一共展示了CiscoConfParse.find_blocks方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: process_file

# 需要导入模块: from ciscoconfparse import CiscoConfParse [as 别名]
# 或者: from ciscoconfparse.CiscoConfParse import find_blocks [as 别名]
def process_file(fname):
    with open(fname) as f:
        print '*** %s ***' % fname
        parse = CiscoConfParse(f)
        blockhead = parse.find_blocks('voice translation')

        for item in blockhead:
            print item.rstrip()
开发者ID:gjhinson,项目名称:ciscogeek,代码行数:10,代码来源:with-dirwalk.py

示例2: MainFunc

# 需要导入模块: from ciscoconfparse import CiscoConfParse [as 别名]
# 或者: from ciscoconfparse.CiscoConfParse import find_blocks [as 别名]
def MainFunc(filelist,filepath,protocol,linstr,outputfolder,label_list):
    mydict,mylist=returnAttributes(protocol,label_list)
    print("-----------------------1")
    print(mydict)
    print("-----------------------2")
    print(mylist)
    mylist3=mylist[:]
    for k,v in mydict.items():
        if '/' in v:
            vv=v.split('/')
            for e in vv:
                if len(e)>0:
                    mylist3.append(e)

    #filelist=os.listdir(filepath)
    for eachfile in filelist:
        if '.DS' in eachfile:
            continue
        with open(ProjectPath+"/"+outputfolder+"/input_"+linstr,"w")as fout:
            pass

    for eachfile in filelist:
        if '.DS' in eachfile:
            continue
        with open(filepath+'/'+eachfile)as fin:
            linsout=[]
            for eachline in fin:
                if "Authentication Data Removed" in eachline or '/*' in eachline:
                    #print(eachline)
                    pass
                else:
                    linsout.append(eachline)
        with open(filepath+'/'+eachfile,"w")as fout:
            fout.writelines(linsout)

        if len(eachfile)>0:
            print(eachfile)
            protocol2=r'[ \t]*'+protocol+'.*$'
            linstr2=r'[\s]*'+linstr+'[\s]*$'
            parse_file = CiscoConfParse(str(filepath+'/'+eachfile))

            #val_block0=parse_file.find_blocks(protocol2,exactmatch=False,ignore_ws=True)
            val_children0=parse_file.find_all_children(protocol2,exactmatch=False,ignore_ws=True)

            val0=val_children0
            #print("val_children000000")
            #print(val_children0)

            if str(linstr)!="input patterns":
                parse0 = CiscoConfParse(val0)
                val_block=parse0.find_blocks(linstr2,exactmatch=False,ignore_ws=True)
                #val_children=parse_file.find_children_w_parents(parentstr,linstr,ignore_ws=True)
                val_children=parse0.find_all_children(linstr2,exactmatch=False,ignore_ws=True)

                print("val_block...")
                print(val_block)
                print('val_children...')
                print(val_children)

                val1=val_block+val_children
            else:
                val1=val_children0
            #val1=val_children
            #print("val1///")
            #print(val1)
            parse1 = CiscoConfParse(val1)

            val2=[]
            for each in mylist:
                #print("each............................."+each)
                each2=r'[\s]*'+each+'[\w\s;\[\]\-\.]+.*'
                temp=parse1.find_all_children(each2,exactmatch=True,ignore_ws=True)
                val2.extend(temp)
            #val=parse.find_all_children('group CONNECTOR',exactmatch=False,ignore_ws=True)
            #print('val2....')
            #print(val2)
            val3=[]
            #print("mylist3........")
            #print(mylist3)
            for each in val2:
                itema=each.replace('{','').replace('#','').strip()+','
                if islistcontainstr(mylist3,each) and not itema in val3:
                    #print("+++++++++++++++++++++++++++++++++++++++++++++++++++++"+each)
                    val3.append(itema)

            Output=[]
            outputtab=0

            for tab in range(len(mylist)):
                Output.append([])
            for k,v in mydict.items():
                matchlist=[]
                if v=="int":
                    pattern=re.compile(r"[\s]*"+k+"[\s]*[\d]+")
                    for each in val3:
                        #print(each)
                        matchlist.extend(pattern.findall(each))
                    #print("222222222222222222222222222")
                    #print(matchlist)
                    #print(val3)
#.........这里部分代码省略.........
开发者ID:designer357,项目名称:Small,代码行数:103,代码来源:InPutForRulesVersion2.py

示例3: CiscoConfParse

# 需要导入模块: from ciscoconfparse import CiscoConfParse [as 别名]
# 或者: from ciscoconfparse.CiscoConfParse import find_blocks [as 别名]
#!/usr/bin/python

from ciscoconfparse import CiscoConfParse

parse = CiscoConfParse("conf.txt")
basic_search = parse.find_blocks("trunk")
print basic_search

# Sanitize the output to replace , with a new line
f = open("output.txt", "r")
filedata = f.read()
f.close()
newdata = filedata.replace(", ", "\n")
f = open("output.txt", "w")
f.write(newdata)
f.close()

# Sanitize he output for '
f = open("output.txt", "r")
filedata = f.read()
f.close()
newdata = filedata.replace("'", "")
f = open("output.txt", "w")
f.write(newdata)
f.close()

# Sanitize he output for [
f = open("output.txt", "r")
filedata = f.read()
f.close()
newdata = filedata.replace("[", "")
开发者ID:cnc-admin,项目名称:zabbix,代码行数:33,代码来源:example3.py

示例4: CiscoConfParse

# 需要导入模块: from ciscoconfparse import CiscoConfParse [as 别名]
# 或者: from ciscoconfparse.CiscoConfParse import find_blocks [as 别名]
#cisco centric scripts for parsing out config-------
#------------------------------------
from ciscoconfparse import CiscoConfParse
parse = CiscoConfParse('vg1.router.txt')
blockhead = parse.find_blocks('voice translation')
for item in blockhead:
    print item
#-------------------------------------

开发者ID:gjhinson,项目名称:ciscogeek,代码行数:10,代码来源:script2.py


注:本文中的ciscoconfparse.CiscoConfParse.find_blocks方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。