프로그래밍/Python (16) 썸네일형 리스트형 Python for Networker : Part 11 Last Updated 2014.08.26 Python for Networker의 이번 포스팅은 Cisco dCloud 의 Nexus 9000 : NX-OS Programmability v1에 있는 Python Script 예제 중의 하나를 다뤄봅니다. 이 Python Script는 Nexus에서 현재 원하는 정보를 Text 형태의 첨부파일로 만들어서, 메일로 전송을 하는 예제 Script 입니다. 다음과 같이 bootflash://script 디렉토리에서 예제 Script를 실행합니다. dcloud-n9k# python ./n9k_serviceability.py 수신메일주소 Script를 실행하게 되면, 어떤 종류의 정보를 수집할 것인지에 대해서 물어보게 됩니다. 여기서 원하는 정보의 종류를 선택하면,.. Programmability for Networker : Part 10 10번째 Python for Networker 포스팅입니다. 이번 포스팅에서 Cisco Nexus의 7000과 5000에서 공통으로 사용이 가능하도록 기존에 만들었던 ipinfo.py 모듈을 변경해봅니다. 장비별로 개개의 코드를 작성해서 수행하는 것보다는 장비에서 공통으로 호환성있게 사용 가능한 코드를 만드는 것이 향후 코드에 대한 유지보수 측면에서 더욱 유리할 것 이기 때문에 유심있게 봐두면 좋을 듯 싶습니다. Git에서 Code 보기 - einfo.py : https://github.com/NetworkZIGI/Python_for_Network/blob/master/eipinfo.py - vCheck.py : https://github.com/NetworkZIGI/Python_for_Network/b.. Python for Networker : Part 6-2 이번 포스팅은 별도의 Part은 아니고~ 추가 포스팅입니다. 지난 Part 6에서 다뤄진 내용에 대해서 Nexus 7K용으로 변경한 코드입니다. 꼭 바꿔야하는 부분을 제외하고.. 약간 추가적으로 내용 업데이트도 함께 했습니다. (그 부분은 5K도 공통사항이긴합니다..) Nexus 7K로 변경해야 할 때, 어디를 바꿔야 하는지 문의하시는 분이 계셔서 수정해서 올려드립니다. 지난 번에 생각했던 것보다 조금 더 수정해야 하는 부분이 있어서. ^^; 포스팅으로 대체했습니다. Python for Networker : Part 6 보기 Github에서 보기 ○ IP Info - Nexus 7000 __author__ = 'Network ZIGI - Ko Jae Sung' #!/bin/env python import.. Programmability for Networker : Part 8 Last Updated : 2014.07.30 이번 포스팅은 Nexus 7000 시리즈에서 Python Script를 실행하기 위한 방법입니다. Nexus 버전별로 지원되는 부분이 조금씩 다른 듯 싶은데.. (물론 제가 모든 장비를 해 볼 수 있는 환경이 아니어서요... ) Nexus 5000의 경우에는 바로 Python 명령을 사용하여 기존의 만들어진 Python 모듈을 실행할 수 있지만, Nexus 7000에서는 Python 명령을 치고 '?'를 치면... 아래와 같이 Python Shell로 들어가는 것 밖에 되지 않습니다. Nexus 7000 Nexus 5000 N7K# python ? N5K# python ? bootflash: The file to run 그럼 과연 실행은 어떻게 할까요? 바로.. 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 정보를 한 번에 확인할 수 있는 내용입니다. 추후에 아래 코드는 조금씩 변형되서 업데이트 버전이 만들 계획이지만, 언제 어떻게 될지는 아직은 알 수 .. Python 한글 Encoding Pycharm에서 한글을 출력하려고 보니.. 계속 한글이 출력이 안되는 이런 저런 검색을 통해서 알아보다가.. 결국 유레카!!... (생각보다 너무 오래 걸렸다..) 내가 찾은 곳에는 좋은 내용이 있었지만, 우선 간단하게만 정리하면.. 아래와 같이 사용하면 예제 코드를 확인해서 코드에 넣어주면 된다. (1~3번째 줄은 넣고, 5번째 줄처럼 사용하면 될 듯..) # -- coding: UTF-8 -- import sys reload(sys) sys.setdefaultencoding("utf-8") liststr = ["네떡지기"] print str(unicode(liststr[0])) http://libsora.so/posts/python-hangul/ Programmability for Networker : Part 5 이전까지 다뤄졌던 pingrange Python 예제를 변형해봅니다. 코드를 모두 짤 수 없다면, 잘 짜여진 기본 에제를 바탕으로 필요한 내용을 수정/보완하는 것도 중요할 것입니다. 물론 그렇게 하기 위해서는 기존 코드를 잘 이해하는 것이 매우 중요합니다. 기존 예제 소스를 이해하기 위해서 이론 정리만 했다면 이번 변형 예제는 기존 예제와 달라진 점을 비교해보고 또한 변형 예제에 대해서는 나름대로.. 친절하게 주석을 달았습니다. 물론 이론적인 부분이 함께 알아두고, 코드를 잘 쪼개서 볼 수 있어야 이해가 쉬울 것입니다. 기존 예제 포스팅은 아래와 같습니다. Python for Networker : Part 2 Python for Networker : Part 3 Python for Networker : .. 이전 1 2 다음