2017-11-06 9 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

무엇이 작동하지 않습니까? 연결 개체를 만드는 것 외에는 아무 것도하지 않습니다. –

답변

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 클래스 걸리는 말한다면 (* 인수, ** kwargs로는) 다음 기능과 같아야합니다

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

connect(**r1) 

*args 가끔 추가 할 수있는 경우 선택적으로 추가됩니다. **credkwargs 서명으로 사용하고 있지만 위치 인수를 대신 전달하는 키워드 args를 함수에 전달하지 않아야합니다.

+0

연결 (cred하게 = R1) 이 시도하고 아래 그림이있어 오류 : 'code'Traceback (가장 최근에 전화를 마지막) : 파일 "/Users/mohammedd/code/scripts2.0/first_function.py을 "연결 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' –