본문 바로가기

파이썬

(16)
Programmability for Networker : Part 7 이번 포스팅도 Python으로 만들어 보는 예제입니다. 마찬가지로 Cisco Nexus 5548 기준입니다. 하지만, 현재 만드는 예제가 모두 기본 CLI명령을 입력하는 부분에서만 Cisco 패키지를 사용하기 때문에 간단한(?) 변형을 통해 다른 곳에도 활용이 가능합니다. (물론 출력된 문자열이 Nexus 기준에서 가공하여 만든 예제라 문자열 가공을 각 상황에 맞게 일부 변형이 필요합니다) 이번 예제는 특정 interface의 사용량을 원하는 횟수만큼, 원하는 시간 간격으로 화면에 출력해주는 예제입니다. * Github에서 보기 uInt.py : https://github.com/NetworkZIGI/Python_for_Network/blob/master/uInt.py uIntmod : https://g..
Programmability for Networker : Part 6 이번 포스팅은 Python으로 만들어 보는 예제입니다. 제가 Test 가능한 환경이 Cisco Nexus이기 때문에 Cisco Nexus 5548 기준으로 작성된 예제입니다만, 기본 CLI명령을 입력하는 부분에서만 Cisco 패키지의 명령을 사용하였기 때문에 변형을 한다면, 다른 곳에서 충분히 활용이 가능한(?) 예제가 될 수 있을 듯 싶습니다. (물론 출력된 문자열이 Nexus 기준에서 가공하여 만든 예제라 문자열 가공을 각 상황에 맞게 일부 변형이 필요합니다) IP를 입력하면, 해당 IP의 MAC주소와 VLAN, Interface, Description 정보를 한 번에 확인할 수 있는 내용입니다. 추후에 아래 코드는 조금씩 변형되서 업데이트 버전이 만들 계획이지만, 언제 어떻게 될지는 아직은 알 수 ..
Programmability for Networker : Part 5 이전까지 다뤄졌던 pingrange Python 예제를 변형해봅니다. 코드를 모두 짤 수 없다면, 잘 짜여진 기본 에제를 바탕으로 필요한 내용을 수정/보완하는 것도 중요할 것입니다. 물론 그렇게 하기 위해서는 기존 코드를 잘 이해하는 것이 매우 중요합니다. 기존 예제 소스를 이해하기 위해서 이론 정리만 했다면 이번 변형 예제는 기존 예제와 달라진 점을 비교해보고 또한 변형 예제에 대해서는 나름대로.. 친절하게 주석을 달았습니다. 물론 이론적인 부분이 함께 알아두고, 코드를 잘 쪼개서 볼 수 있어야 이해가 쉬울 것입니다. 기존 예제 포스팅은 아래와 같습니다. Python for Networker : Part 2 Python for Networker : Part 3 Python for Networker : ..
Programmability for Networker : Part 3 이번 포스팅은 지난 포스팅에 이어서 실제 Python 예제를 통해서 보려고 합니다. 기본 내용은 지난 포스팅과 이어지게 됩니다. 예제 소스는 기존 포스팅과 함께 왔다리 갔다리 하기 힘드실 듯하여... 해당 예제 포스팅이 끝날 때까지 계속 포함할 예정입니다. 혹시 기존 포스팅을 보지 못하신 분은 반드시! Python for Networker : Part 2 을 보고 오셔야 합니다. 본 내용에 사용된 에제는 아래에서 볼 수 있습니다. [ 예제 링크 ] https://github.com/datacenter/who-moved-my-cli ※ 본 내용의 진행은 Nexus 5548 6.0(2)N2(4) 기준입니다. pingrange.py import re from cisco import cli from argpar..
Programmability for Networker : Part 1 Last Updated : 2014.07.02 Network 장비에서 Python을 활용한 부분에 간단히 정리를 해보려고 합니다. 우선 처음 진행 부분은 현재 실제 테스트가 가능한 Nexus 7000 / 5000으로 먼저 간단히 시작합니다. 물론 완전 초기 부분이라서, 아마도 잘못된 부분 등에 대해서는 업데이트가 지속적으로 필요할 것 같습니다. 그리고 Nexus에서는 9000 / 3000 시리즈 기반으로 Python 활용도가 더 높은 것으로 알고 있지만..(잘못 알고 있을수도? ^^) 현재 테스트가 가능한 부분이 Nexus 7000과 5000이라 이것으로 시작하며, 추후에 다른 테스트 장비(VM포함)로.. 추가적인 포스팅을 진행할까합니다. Cisco Nexus 7000 Python 특징 • Nexus 7..
Python 한 걸음 내딛기 : Part 4 [함수-2] Python 한 걸음 내딛기, 4번째 포스팅입니다. 일주일에 한개씩은 꼭! 지키려고 하다보니 이번에는 분량이 많지는 않습니다. 이번주 네전따 세미나가 있을 예정이라, 오늘 이외에는 올릴 수가 없을 듯 하여! ^^ 짧게나마 이렇게 포스팅합니다. 다음 포스팅은 객체지향이 되지 않을까 싶습니다! ^^; ○ 함수의 매개변수 - 함수를 호출할 때, 함수로 전달해주는 값으로 함수 처리 시에 필요한 내용을 적절하게 매개변수로 전달하여 사용할 수 있다. - 파이썬에서는 '기본' , '키워드', '가변 리스트', '미정의 키워드' 에 대한 별도의 매개변수 전달 모드가 가능하며 각각의 사용법은 아래에서 알아보기로 한다. ○ 기본 매개변수 - 함수 호출 시, 별도의 매개변수 값을 전달하지 않을 경우에 Default 값을 갖..
Python 한 걸음 내딛기 : Part 3 [ 함수-1 ] 1주일에 하나씩 목표로 하고 있는 Python 정리네요. ^^; 함수를 한 번의 포스팅으로 하려고 했는데.. 정리하다보니.. 살짝 길어져서.. 나눕니다. ^^; ○ 함수 - 여러 줄의 명령을 하나의 범위로 지정하여 특정한 역할을 하도록 만든 것. - 프로그램에서 여러 번, 사용해야 하는 일을 함수로 만들어서 필요 시 호출해서 사용할 수 있다. - 직접 필요한 함수를 만들 수 있으며, 이미 만들어져 있는 함수를 호출해서 사용할 수도 있다. ○ 함수 정의 - def (매개변수1, 매개변수, ….): 명령문.. Return value ○ 함수 예제로 함수 한걸음 내딛기 함수 예제-1) 함수 예제-2) def SumFunc(a,b): sum = a+b return sum print(SumFunc(10,20)) ..
Python 한 걸음 내딛기 : Part 1 [데이터타입] ~위한 파이썬.. 이라는 Title을 가져보려고 하는데.. 잘 될지 모르겠네요. 타이틀을 어찌할지도.. ^^; 오늘부터... 가능하면 이 주제에 대해서도 1주일에 하나씩은 하려고 합니다. 기존에 1회성(?) 스터디 때 사용한 자료가 있어서.. 이번 주까지는 1번 더 올릴 수 있을 듯 싶고.. 다음 주부터는.. 공부하고 만들어야 할 듯요.. ^^; 자꾸 더디게 움직이는 듯하여... 스스로를 채찍질하기 위한.. 일종의 프로젝트성. ^^; Indentation •Python에서 Code Block(Scope)을 구분하는 방법 •동일한 Code Block 내에서는 동일한 방법(Space, Tab)으로 구분해야 함. ※ 가독성을 좋게 하기 위해 전체적으로 동일한 방법으로 작성 •하위 레벨의 Code Block이 ..