프로그래밍 351

logging 모듈을 사용하여 로그를 남기는 방법

import logging # 로그 설정 my_log = logging my_log.basicConfig(filename="log_sample.log", level=logging.INFO) # 로그 생성 및 기록 my_log.debug('이 메시지는 디버그용 로그입니다.') my_log.info('정보성 로그 메시지입니다.') my_log.warning('경고 메시지입니다.') my_log.error('에러 메시지입니다.') my_log.critical('심각한 문제가 발생했습니다.') debug부터 차례대로 로그의 레벨 순서대로 작성하였고, 위와 같이 코드를 작성하면 로그 설정에서 입력한 logging.INFO 레벨 이상의 메시지가 기록되게 된다.

기존의 list의 값을 이용해서 새로운 list를 만드는 방법 list comprehension

아래 방법을 알기 전에 내가 기존에 사용하던 방식 배열을 선언해준 후 각 값에 2를 곱해서 배열에 담기 때문에 코드가 많이 지저분하다. my_list = [1, 3, 5, 7, 9] squares = [] for x in my_list: squares.append(x * 2) print(squares) 위의 과정을 일부 생략하고 python문법으로 작성한 코드 my_list = [1, 3, 5, 7, 9] squares = [x * 2 for x in my_list] print(squares) 위의 방법을 selenium에서 다음과 같이 활용할 수 있다. # 기존의 코드 number_list = [] for number_link in number_link_list: number = number_link...

python decorator

python에서의 decorator는 어떤 함수를 꾸며서 새로운 함수를 만들 때 사용할 수 있다. 아주 간단한 예시 def add_print_to(original): def wrapper(): print("함수 시작") original() print("함수 끝") return wrapper @add_print_to def print_hi(): print("안녕") print_hi() 각 함수를 작동시키기 전이나 후, 동일한 코드를 반복적으로 작성할 때, 데코레이터 함수를 사용하면 아주 유용하다. 객체지향 프로그래밍에서 이 데코레이터 함수는 아주 많이 사용된다.

Python의 포함 연산자 in, not in

문자열, 배열, 튜플, 딕셔너리에 사용할 수 있다. 1. 문자열(strings) ########### in ########### if 'p' in 'python': print(True) else: print(False) ------------------------- True ########### not in ########### if 'k' not in 'python': print(True) else: print(False) ------------------------- True 2. 리스트(list) ############## in ############## if 'a' in ['a','b','c']: print(True) else: print(False) -------------------------..

dict list를 key1을 기준으로 그룹화하고, 각 그룹에 속하는 key2들을 모으는 방법은 다음과 같습니다.

from collections import defaultdict data = [ {'claim_number': '22756365', 'order_number_list': '2102940323'}, {'claim_number': '22787274', 'order_number_list': '2133237895'}, {'claim_number': '22788336', 'order_number_list': '2134958649'}, {'claim_number': '22788336', 'order_number_list': '2134958648'}, {'claim_number': '22788336', 'order_number_list': '2134958647'}, {'claim_number': '22788336',..

python pyinstaller exe file decomplie 과정

기억을 위해 간략하게 적는다. 준비물 1. pyinstaller로 빌드된 exe파일 여기서는 "app.exe"이라는 파일이라고 가정 2. pyinstxtractor 코드 설치 git clone https://github.com/extremecoders-re/pyinstxtractor.git 3. 코드 해체 python .\pyinstxtractor.py app.exe 4. app_extracted폴더내에 디컴파일 원하는 pyc 파일 찾기 ex) 저의경우 main.pyc였음. 5. uncompyle6로 디컴파일 시도 pyc 파일 to py파일로 변환 pip install uncompyle6 uncompyle6 main.pyc > main.py