リストに結果を追加しようとしていますが、一致するものが見つからなければリストに文字列 "N/A"を追加します。 show_version_listsは、さまざまなネットワークデバイスからのログのリストです。Python Regex:見つかった場合は文字列を追加し、それ以外の場合は "Not Found"を追加する方法は?
上記のコードを実行すると、else条件は発生しません。
Load for five secs: 5%/0%; one minute: 4%; five minutes: 4%
Time source is NTP, 15:24:47.756 PDT Thu Jun 16 2016
Cisco IOS XE Software, Version 03.16.01a.S - Extended Support Release
Cisco IOS Software, ASR1000 Software (PPC_LINUX_IOSD-ADVENTERPRISEK9-M), Version 15.5(3)S1a, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2015 by Cisco Systems, Inc.
Compiled Wed 04-Nov-15 17:40 by mcpre
に一致していなければならないログの一の実施例と一致している必要があり、ログの一方のアン例。
Cisco IOS Software, C3750E Software (C3750E-UNIVERSALK9-M), Version 15.2(2)E3, RELEASE SOFTWARE (fc3)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2015 by Cisco Systems, Inc.
Compiled Wed 26-Aug-15 06:14 by prod_rel_team
編集:
AChampionあなたは右のループは、ロジックの問題を修正するために取り出しました。
あなたの 're.findall()'呼び出しは一致を返すのみで、最初の一致のみをスライスするので、 're.search()'は常にTrueになります。サンプルデータを共有できますか?あなたは 'for'ループと' re.search() 'を取り除き、' re.match() 'を使用したいかもしれません – AChampion
re.findallとre.searchがコード内で全く同じであるため、 – dmitryro