2017-11-06 10 views
0
from netmiko import ConnectHandler 

r1 = {'ip': '10.1.1.1', 'device_type': 'juniper', 'username': 'test', 'password': 'test1'} 

r2 = {'ip': '10.1.1.2', 'device_type': 'juniper', 'username': 'test', 'password': 'test1'} 

def connect(**cred): 
    ssh_conn = ConnectHandler(**cred) 

connect(r1) 

これは私が周りを遊んでいた基本的な機能ですが、基本的には苦労しているようです。私はNetmikoを使用しています。デバイスをリストし、他のスクリプトにインポートできるように関数を作成したいと考えています。基本機能の作成

私はちょうどデバイスに接続する機能を作りたいと思っていますが、それは機能しているデバイスに接続しますが、これは機能していないようです - どこが間違っていますか?事前

+0

何が問題なのですか?接続オブジェクトの作成以外は何もしません。 「code'Traceback(最新の呼び出しの最後):: ファイル「/Users/mohammedd/code/scripts2.0/first_function.py –

答えて

0

ありがとうございますこれをやってみてください:

from netmiko import ConnectHandler 

r1 = {'ip': '10.1.1.1', 'device_type': 'juniper', 'username': 'test', 'password': 'test1'} 

r2 = {'ip': '10.1.1.2', 'device_type': 'juniper', 'username': 'test', 'password': 'test1'} 

あなたはConnectHandlerクラスが(* argsを、** kwargsから)を取ると言うならば、あなたの関数は次のようになります。

def connect(*args, **cred): 
    ssh_conn = ConnectHandler(*args, **cred) 

connect(**r1) 
場合によってはいつでも追加したい場合は、

*argsが必要に応じて追加されます。 **credkwargsというシグネチャとして使用していますが、代わりに位置引数を渡してキーワードargsを関数に渡すことはありません。

+0

は を以下に示し、これを試してみましたが、これとエラーを得た(CRED = R1)を接続します"接続 ssh_conn = ConnectHandler(** CRED) ファイルに、ライン11、 "/Users/mohammedd/code/scripts2.0/first_function.py"、 のライン13は、(CRED = R1) ファイルを接続します" /Library/Python/2.7/site-packages/netmiko/ssh_dispatcher.py "、131行目、ConnectHandlerで返すConnectionClass(* args、** kwargs) 'code' –