多くのインタフェースに関連する情報が含まれているファイルがあります。私の例は単純化のために2つしかありません。ファイルを分割すると同様の行が表示される
私はこれを別の変数に分割して、後で使用する必要があります。たとえば、以下のテキストから、値が10.196.135.30のeth1_ip、変数255.0.0.0のeth1_mask、値192.168.4.2のeth2_ipなどの変数を作成したいと考えています。
私は、異なる "分割"と "リードファイル"のシナリオを通過してきましたが、これを釘付けにすることはできませんでした。
私は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ビットです。
は、あなたがこの問題では、あなたの最初の試みを投稿することができますか? –
オープンファイルは、文字列の繰り返し可能です。開発のために、あなたの 'iterable of strings'をコードに入れてください。 'file =" "" eth1:<改行で残っている> "" "splitlines()'。 'ファイルは現在、文字列のリスト(反復可能)です。 'file'で掲示されたコードは他のコンピュータでコピーしてテストすることができます。進んでください。 –
ファイル構造は、あなたがすべての*レコード*に対して示したのとまったく同じですか? – wwii