このテキストファイルから各AP行のクライアント数を取得する方法を理解しようとしています。これは、「クライアントの数」が関連付けられているクライアント(次の行)には問題ないようです。ただし、クライアントが関連付けられていないかどうかはわかりますが、多数のクライアントは出力されません。
次の行をチェックして「クライアントの数」が存在するかどうかを確認してから、現在の行に戻るロジックを理解できません。存在する場合は、次の行に進み、クライアント番号を取得する必要があります。'クライアントの数'行がない場合は、クライアントを0に設定しようとしています。
次のもので構成されるファイルがあります。
ワイヤレス-detail.txt
RUDY>show wireless ap detail on AP1 | include clients
RUDY>show wireless ap detail on AP2 | include clients
Num of clients : 8
RUDY>show wireless ap detail on AP3 | include clients
Num of clients : 21
RUDY>show wireless ap detail on AP4 | include clients
RUDY>show wireless ap detail on AP5 | include clients
Num of clients : 2
今私は次のものを持っています:
for line in file:
if "AP" in line:
ap = re.search('AP[0-99]+', line)
print ap.group(0),
elif "Num of clients" in line:
clients = re.search('[0-99]+', line)
print '- ' + clients.group(0)
現在、次のように出力されます。
AP1 AP2 - 8
AP3 - 21
AP4 AP5 - 2
AP6 - 5
AP7 - 2
AP8 - 5
AP9 - 5
次の行をチェックして、APを0クライアントに設定する必要があるかどうかを確認するための最良の方法は何ですか?
編集:FWIW-file.next()で次の行を読み取ろうとしていましたが、これは機能しているようですが、前の行に戻ることができませんでした:/
編集#2:私はあなた方全員に賛成できたらいいのにと思います。みんなありがとう!それを行うには非常に多くの方法があり、そのうちの1つを理解できなかったのは信じられないほどです!!!!