Category Archives: Python

MKBlog 관리자 입니다.
Python 예제를 정리할 계획입니다.
인터넷에 매번 검색하기가 힘들어서 한번 찾은 정보를 짧게 정리할 계획입니다.
감사합니다.

[Python] argparse 사용 예제

Python으로 작성한 코드를 실행할 때 특정 Argument를 추가해야만 실행이 가능하도록 코드를 작성하고 싶은 경우가 발생한다. Python에서 “argparse”를 사용하면 쉽게 Argument를 추가할 수 있다. Argparse 사용하기 아래 코드1은 Argparse를 사용하는 예제 코드이다. argparse.ArgumentParser(…): argparse를 사용하기 위해서 가장 먼저 해당 코드를 사용해서 Variable을 생성한다. VARIABLE.add_argument(…): 생성된 Variable에 add_argument(..)를 사용해서 Argument 옵션을 하나씩 추가한다. 위 2가지가 Argparse를 사용하는… Read More »

[Python] namedtuple (네임드튜플) 사용 (Struct like C)

namedtuple은 C언어 Struct와 같이 Value를 여러 개 저장해서 Variable 이름으로 접근이 가능하다. 개인적으로 C Struct와 비슷해서 사용하게 되었다. 출처 1에 따르면 namedtuple은 Python 기본자료형이 아니라고 한다. namedtuple을 사용하기 위해서는 아래와 같이 Collections를 추가해야 한다. from collections import namedtuple namedtuple 사용하기 출처 1에 제공하는 예제를 조금 변경하여서 아래 예제 코드를 하나 작성하였다.

그림1: namedtuple Example… Read More »

[Python] “cURL” CMD를 Python Request 모듈에서 로딩하기

“client URL (cURL: curl)은 다양한 통신 프로토콜을 이용하여 데이터를 전송하기 위한 라이브러리와 명령 줄 도구를 제공하는 컴퓨터 소프트웨어 프로젝트이다” (출처 1). 간단히 설명하면 Linux Terminal 등에서 데이터를 전송하기 위해서 사용된다는 의미이다. curl을 사용하여 특정 사이트에서 정보를 가져오는 작업을 Python을 사용하여 자동화하려고 하였다. 그 과정에서 curl CMD를 Python Requests 모듈이 사용할 수 있도록 변경하는 작업이 필요하다. curl… Read More »

[Python] 주식 종목 코드 및 가격 로딩 (Loading Stock Price and Code Number using Requests Module)

목적 네이버와 한국증권금융 홈페이지에서 주식 종목 코드 및 주식 종목 가격 읽기 Request 모듈 사용 방법을 알고 싶어서 만들어본 예제 코드 환경: Ubuntu 16.04 + Python3 Prerequisite Module(s): reqeusts, bs4, BeautifulSoup

설명 reqeusts.get() + reqeusts().post() 함수를 사용하면 웹사이트의 HTML을 로딩할 수 있음. POST에 해당하는 Data 값을 찾는 방법은 출처 2에 설명되어 있음. BeautifulSoup를 사용하면… Read More »

[Python] Gmail SMTP 서버 사용해서 이메일 보내기 (Sending Email using Gamil ID)

목적: Gmail SMTP 서버를 사용하여 이메일 발송하기 환경: Ubuntu 16.04 + Python 3 Prerequisite Module(s): smtplib

설명 출처 1에서 나온 내용을 대부분 그대로 사용하였다. “””STRING”””:  STRING에 새로운 줄 바꿈 등을 모두 포함한다. 보통 “\n”과 같은 부분을 추가해야 줄 바꿈이 적용되지만 “”” (3개)를 사용하면 필요하지 않다. STR.join(LIST): LIST 사이에 STR을 추가하여 새로운 String을 생성한다. 만약 LIST를 STRING으로… Read More »

[Python] Bash/Powershell Command 실행 (Bash/Powershell CMD)

목적: Linux Bash CMD나 Window PowerShell CMD를 Python에서 실행하는 방법 환경: Widow 10 + Python 3.6

설명 os.system()의 경우 실행된 결과가 창으로 출력됨. 위 예제의 경우 출력되는 결과가 없어서 출력되는 내용이 없음 os.popen().read()의 경우 실행된 결과를 반환하여 Variable에 저장함. 저장된 값은 다음에 String으로 읽어서 변경할 수 있음

[Python] GUI와 Multi-Threading 사용 (GUI + Multi-Threading)

목적: GUI (tkinter)와 Multi-Threading (threading) 사용 환경: Linux (Ubuntu 16.04) Python Version: 3.5.2

추가 설명 GUI와 Threading을 동시에 사용해야 하는 이유는 tkinter (GUI)를 효율적으로 사용하기 위해서이다. 보통 GUI의 버튼을 클릭하면 특정 함수의 연산을 수행하게 된다. 만약 해당 함수를 실행하는 데 오랜 시간이 걸리면 tkinter은 함수의 결과가 return 되지 않기 때문에 멈추는 현상이 발생한다. 그동안… Read More »

[Python] GUI 폴더 위치 선택 (GUI asking directory path)

목적: GUI화면에서 특정 폴더 위치를 선택하여 해당 path 값을 알기 위해 사용 환경: Linux 3.10 (Centos) Python Version: 3.4

설치 yum install python34-tkinter 설명 filedialog.askdirectory()함수를 사용하여 선택한 directory path값을 return으로 받을 수 있음 filedialog.askopenfile(initialdir=’path’, title=’select file’, filetypes=((‘jpeg files’, ‘*.jgp’), (‘all files’, ‘*.*’))) 를 함수를 사용하면 파일을 선택하여 file path값을 return으로 받을 수 있음 initialdir은… Read More »

[Python] csv 파일 쓰기 (csv file writing)

목적: 특정 데이트 값은 csv 파일에 작성하기 위한 방법 환경: Linux 3.10 (Centos) Python Version: 3.6

설명 open 함수를 사용하여 파일을 생성함 csv.writer()와 writerow()를 사용하여 csv 파일에 데이터 값 작성을 진행함 writerow()의 함수 parameter에 list[]값을 넣으면 column에 순서대로 write됨 출처 http://pythonstudy.xyz/python/article/207-CSV-%ED%8C%8C%EC%9D%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0

[Python] String 문자 나누기 (splitting string)

목적: String에서  특정 문자 기준으로 string을 나누기 위해서 사용 환경: Linux 3.10 (Centos) Python Version: 3.6

설명 Regular Expression (re)의 split()를 사용하여 기존 string을 나누는 작업을 수행함 String을 split하여서 string list를 결과값으로 return함