본문 바로가기
반응형

전체 글222

Subprocess 모듈이용하기 회사 업무를 진행하면서 업무에 필요한 다양한 스크립트를 작성한다. IPAM system에서도 조회가 가능한 정보이지만 나는 Python 스크립트에서 shell을 실행하여 원하는 정보를 처리하는 방법을 택했다. nslookup IP address (e.g - nslookup 10.0.0.1) 형태의 명령어를 통해서 조회하는 IP와 연계된 DNS 레코드를 추출했다. 검색을 통해서 가장 처음 알게된 방법은 os.system('nslookup ' + '10.0.0.1') 하지만 위와같이 코드를 수행하게 되면 해당 프로세스를 실행하여 출력해줄 뿐 output을 capture 할 수 없다. 이 문제를 해결하려면 subprocess를 이용하면 가능하다. import subprocess import openpyxl f.. 2021. 4. 15.
OSPF Virtual Link란? OSPF를 처음 공부하고 난 후 가장 먼저 기억하게 되는 개념은 OSPF의 모든 areas는 backbone area (area 0)와 연결되어야 한다라는 부분이다. 하지만 virtual link라는 기술을 이용하면 non-backbone area를 통해서 backbone area와 직접 연결할 수 없더라도 OSPF로 서로의 네트워크를 연결할 수 있다. Virtual link를 구성하는 영역을 transit area로 불리고 이 area는 full-routing table을 갖고 있어야 한다. 서론에서 설명한 것 처럼 Area 2는 Area 0와 직접 연결된 area가 아니기 때문에 virtual link를 사용해서 설정해야 한다. 간단하게 어떻게 virtual link가 동작하는지 정리해보자. 처음 설.. 2021. 3. 31.
Day 9. PyQt5 (Dialogs) Dialogs는 GUI 구성요소 중 user와 communicate할 수 있도록 해주는 구성요소이다. 파일을 열고 저장한다던가 글자의 색을 바꾼다던가 등의 main UI와는 별도로 존재하는 windows를 dialogs라 한다. 조금더 기술적인 용어로 접근하면 dialogs는 modal (or blocking) windows이다. 다시 말해서, dialogs가 실행되면 main UI는 해당 dialogs가 닫힐 때까지 사용할 수 없는 상태가 된다. Qt의 dialog box는 QDialog class에 의해 handling된다. 따라서, 단순한 대화창을 만들고 싶다면 QDialog 객체를 QMainWindow에 전달하면 된다. import sys from PyQt5.QtWidgets import ( QA.. 2021. 3. 30.
Day 8. PyQt5 (Actions, Toolbars, Menus) Toolbar 툴바는 일반적으로 User Interface에서 볼 수 있는 요소이다. 툴바는 계층적으로 원하는 메뉴를 찾아서 접근하는 방식 대신에 아이콘 클릭 한 번으로 빠르게 접근가능하도록 만든다. import sys from PyQt5.QtCore import Qt from PyQt5.QtWidgets import ( QApplication, QMainWindow, QToolBar, QLabel, QAction ) class MainWindow(QMainWindow): def __init__(self): super().__init__() self.setWindowTitle("My App") label = QLabel("hello") label.setAlignment(Qt.AlignCenter) sel.. 2021. 3. 20.
반응형