2017-10-27 21 views
0

に私は、リストのサイズが動的である以下のリスト保存ループ出力変数

['200', '530', '540'] 

を持っています。それはssh_conn.recの出力によって異なります。私は必要なもの は、これらの値を取得し、リスト私はループを使用することができます充填を持って

ssh_conn.send('show running-config crypto map | i 200\n') 
ssh_conn.send('show running-config crypto map | i 530\n') 
ssh_conn.send('show running-config crypto map | i 540\n') 

に値ごとに次のコマンドを実行することですが、私はコードの下 をどのように行うのか全くわかりません:

​​3210

出力

python IPSEC_config_attributes.py 
SSH COnnection established with XXXX 
Interactive SSH session established 
Give the name of the 3PPartner 

>XXXX 
Type help or '?' for a list of available commands. 
XXXX/pri/act> 
XXXX/pri/act> enable 
Password: ************ 
XXXX/pri/act# terminal pager 0 
XXXX/pri/act# show running-config crypto map | i XXX 
crypto map OUTSIDEMAP 200 match address XXXX 
crypto map OUTSIDEMAP 530 match address XXXX 
crypto map OUTSIDEMAP 540 match address XXXX 
XXXX/pri/act# 
['200', '530', '540'] 
200 
530 
540 
Logged out of device XXXXXXXX 

おかげ

+0

がssh_conn'が – RomanPerekhrest

+0

私は*ファイルの出力が表示されない説明 –

+0

に追加定義されていたか '示し、より多くのコンテキストコードを表示:各試合のためにコマンドを実行するには、このようなものを使用しますどこから*これらの値を取得する必要があるから* – RomanPerekhrest

答えて

1

何かを何回も異なる値にすることができるプログラミングのコンセプトは反復です。 Pythonでは、リスト、ファイル内の行、またはこの場合正規表現の一致など、多くのことを簡単に繰り返すことができます。

最も簡単な反復の例では、 "for item in list"構文を使用して、リスト内の各値を受け取る変数itemを使用します。 *

crypto_list = re.findall("OUTSIDEMAP (\d+) match",output) 
for match in crypto_list: 
    ssh_conn.send('show running-config crypto map | i ' + match + '\n') 
+3

コードのみの回答は常に有用なわけではありません。コードが何をしているのか、それが元の質問に答える理由についての説明を追加することを検討してください。 –

関連する問題