我有一個包含與多種接口信息的文件。我的例子只有兩個簡單。分割文件中包含類似行
我需要能夠拆分此成我打算以後使用不同的變量。例如,從下面的文本中我想創建一個名爲eth1_ip的變量,其值爲10.196.135.30,eth1_mask的變量爲255.0.0.0,eth2_ip的值爲192.168.4.2等。
I'我一直在經歷不同的「分裂」和「讀取文件」情況,但一直未能指出這一點。
我是新來的Python和任何提示,將不勝感激。謝謝。
eth1:
Flags: (0x1043) UP BROADCAST MULTICAST TRAILERS ARP RUNNING
Type: GIGABIT_ETHERNET
inet is: 10.196.135.30 Vlan: 0
Netmask: 255.0.0.0
Ethernet address is 00:08:25:21:f8:a0
Metric is 0:
Maximum Transfer Unit size is 1500
eth2:
Flags: (0x1003) UP BROADCAST MULTICAST TRAILERS ARP
Type: UNKNOWN_TYPE
inet is: 192.168.4.2 Vlan: 0
Ethernet address is 00:08:25:21:f8:a1
Metric is 0:
Maximum Transfer Unit size is 1500
我第一次嘗試的想法包括像這樣的:
#!/usr/bin/python
import re, os, sys, fnmatch
import telnetlib
import sys
import time
import difflib
import shutil
def gleen_macs():
text = open('show_interfaces.txt', 'r')
for line in text.readlines():
#print line
if re.match('( Ethernet address)(.*)', line):
values = line.split('is')
print values[1]
def menu():
get_macs()
menu()
我專注於MAC第一。我可以分割它們,但不能按照我的意願將它們分配給一個變量。 (「get_macs()」函數就是我用來生成文件的telnetlib位,這是按我希望的方式工作的,不包括在這裏)。
你可以發佈你這個問題第一次嘗試? –
打開的文件是字符串的迭代。爲了開發,在代碼中放置'可迭代的字符串'。 'file =「」「eth1:<保留行,換行>」「」。splitlines()'。 '文件現在是一個字符串列表(可迭代的)。任何使用'file'發佈的代碼都可以在其他計算機上覆制和測試。現在繼續。 –
文件結構是否與您爲所有*記錄*顯示的一樣? 「 – wwii