본문 바로가기
반응형

python27

Python (pass, continue, and break) 어느 프로그래밍 언어를 사용하더라도 반복문의 필요성은 두말하면 잔소리다. 반복문을 사용하다 보면 조건에 따라서 즉시 반복문을 종료할 경우, 단순히 현재 반복문을 skip할 경우, 그리고 설정된 조건을 무시할 경우로 나눠 볼 수 있다. 1. Continue: 특정 조건에 부합하면 현재 실행하는 loop을 빠져나가 다음 loop을 실행한다. 간략하게 순서도를 보면 아래와 같다. a = "12345" for elem in a: if elem == "3": print("Continue!") continue print(elem) for elem in a: if elem == "3": print("Break!") break print(elem) for elem in a: if elem == "3": print("P.. 2021. 7. 20.
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.
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.
Day 7. PyQt5 (Layouts) 앞서 정리한 포스트들은 통해서 어떠한 위젯이 있는지 간단하게 알아보았다. 하지만 단일 위젯은 사용에 제한적이고 더불어 미적으로도 Layout 없이 사용하는 것은 예쁘지 않다. QHBoxLayout, QVBoxLayout, QGridLayout, QStackedLayout 이렇게 4가지 Layout을 사용할 수 있다. 이름에서 보는 것처럼 수평으로 위젯을 구성하는 Layout이면 QHBoxLayout을 사용하고 반대로 수직으로 구성한다면 QVBoxLayout을 사용할 수 있다. QGridLayout은 행렬과 같이 행과 열이 있는 Layout을 떠오르면 쉽고 QStackedLayout은 동일 화면에 여러 위젯이 쌓여있는 형태로 보면 된다. 자세한 내용은 예제 코드로 함께 정리해보고자 한다. 물론 각 Layo.. 2021. 3. 19.
반응형