#自己动手写脚本#python实现批量写入syscon

来源:互联网 发布:tabe知乎 编辑:程序博客网 时间:2024/06/07 05:33

引:最近开始搭建Massive MIMO的测试线,因为RRU产品功能和性能均不完善,导致需要配置大量的system constant支持RRU在测试例中正常运转.

sysconst的存在形式为

20.1.40.25> sysconread170223-03:30:22 20.1.40.25 16.0t MSRBS_NODE_MODEL_295.28767.56_522c_L_TESTMOM stopfile=/tmp/29673coli>/cm/sysconread1152:1,1345:800,1369:12,1370:12,15:0,1633:0,1634:0,1635:0,1813:-200,1822:0,204:1100,228:1300,2437:5,28:75,427:12,428:12,515:1100,639:12,943:0,944:0,945:0coli>

写入sysconst命令格式为

sysconwrite xx yy

且一个命令只能写入一个sysconst,这在有很多sysconst需要写入的情况下会产生大量的重复性工作,因此有必要通过脚本来实现自动化写入。

自学的Python终于有用武之地了~~

syscon.py - main program

#!/usr/bin/pythonimport sysimport osos.system('./test.sh syscon')execfile('./pythonfile')print dictfor key in dict:        cmd = "/tool/moshell_16.0t_161125_1644/moshell -v 'username=expert,password=expert' 20.1.40.25 'sysconwrite " + str(key) + " " + str(dict[key]) + "'"        print cmd        os.system(cmd)#       print key#       print dict[key]

test.sh - text handler

#!/bin/bashdict=$(cat $1 | sed 's/\,/\]\[/g' | sed 's/\]\[/\]\,\[/g' | sed 's/\:/\,/g' | sed 's/^.*$/\[&\]/g' | sed 's/^.*$/(&\)/g')echo "dict = dict("$dict")" > pythonfile#echo $dict > pythonfile

syscon文本文件里保存原始的sysconst序列

1152:1,1345:800,1369:12,1370:12,15:0,1633:0,1634:0,1635:0,1813:-200,1822:0,204:1100,228:1300,2315:1,2319:9,2320:9,2323:0,2328:100,2329:100,2330:10,2331:10,2340:10,2422:0,2423:0,2424:0,2425:0,2426:0,2427:0,2428:0,2429:0,2437:5,28:75,427:12,428:12,515:1100,639:12,943:0,944:0,945:1

pythonfile文本文件里存储通过shell脚本处理后的Python字典变量赋值语句

dict = dict(([1152,1],[1345,800],[1369,12],[1370,12],[15,0],[1633,0],[1634,0],[1635,0],[1813,-200],[1822,0],[204,1100],[228,1300],[2315,1],[2319,9],[2320,9],[2323,0],[2328,100],[2329,100],[2330,10],[2331,10],[2340,10],[2422,0],[2423,0],[2424,0],[2425,0],[2426,0],[2427,0],[2428,0],[2429,0],[2437,5],[28,75],[427,12],[428,12],[515,1100],[639,12],[943,0],[944,0],[945,0]))

这样就通过脚本简单的实现了自动化流程,脚本略有冗余,留待以后优化!

0 0