作爲網絡工程師,有時候在客戶現場經常會因爲時間關係用一個CRT窗口通過console線採集很多設備配置信息,這些設備信息都是記錄在CRT的同一個日誌文件中,回到公司處理起來非常不方便。因此寫了以下腳本,以“#”爲標記來分割文件。比如採集文件內容格式如下:
switchA#
switchA# show running
...........
.........
........
switchB#show running
.........
.......
......
......
switch#
後文中的代碼將對上述文件進行分割爲兩個文件,文件名分別爲:switchA.PY.log 和 switchB.PY.log 。無論文件中包含多少設備信息,都會被分割爲單個的文件,方便大家使用。
以下爲代碼部分,按照要求做修改,再保存爲.py文件,然後與你需要分割的文件放在一個目錄下運行即可。
device_name=[]
for line in open(“你需要分割的文件名”): #只需要修改此處,輸入你需要拆分的文件名
if '#' in line:
device_name.append(line.split('#')[0])
if device_name:
with open(device_name[-1]+'.PY.log','a') as f:
f.write(line)