PYTHON - LOG 파일명
·
개발/PYTHON
로그를 설정 하고 확인해보니파일명이 원하는대로 저장이 되지 않았다.-rw-r--r-- 1 root root 114 Nov 25 09:43 2024-11-22.log-rw-r--r-- 1 root root 3372 Nov 23 23:30 2024-11-22.log.2024-11-22-rw-r--r-- 1 root root 1051 Nov 23 23:01 2024-11-22.log.2024-11-23-rw-r--r-- 1 root root 1136 Nov 24 23:30 2024-11-22.log.2024-11-24 내가 원하던건 아래와 같은 형태였다.-rw-r--r-- 1 root root 114 Nov 25 09:43 2..
PYTHON - LOG파일 일별, 날짜별 생성
·
개발/PYTHON
import datetimeimport loggingimport logging.handlersdef get_logger(name=None): logger = logging.getLogger(name) logger.setLevel(logging.INFO) # 중복 방지 설정 logger.propagate = False # 기존 핸들러 제거 (필요 시) if logger.hasHandlers(): logger.handlers.clear() # log format formatter = logging.Formatter("%(asctime)s | %(levelname)s | %(filename)s:%(lineno)d | %(message)s", datefmt..
PYTHON - 재귀 함수 (피보나치, 하노이의 탑, 최소공배수 등)
·
개발/PYTHON
재귀함수 (recursion)함수 정의 내에 같은 이름의 함수가 올 때 이를 재귀함수라 부른다.반드시 탈출조건이 있어야 stack overflow를 방지할 수 있다.같은 행위가 반복될 때 재귀함수를 사용한다. 순차탐색 def search(li, begin, end, target): if begin > end: return -1 elif target == li[begin]: return begin else: return search(li, begin+1, end, target)li = [1,6,10,7,2,5]target = 10search(li, 0, 5, 10) # 2  2진수 변환 def print_binary(n): if n   배열의 합 li[0]에서 li[n-1] 까지의 합을 ..
Python 용량 변환
·
개발/PYTHON
import mathdef convert_size(size_bytes=0): if size_bytes == 0: return "0 B" size_name = ("B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB") i = int(math.floor(math.log(size_bytes, 1024))) p = math.pow(1024, i) s = round(size_bytes / p, 2) return "%s %s" % (s, size_name[i])
Python IMAP 메일 연동
·
개발/PYTHON
파이썬 메일 연동을 알아보자파이썬에 내장된 라이브러리 imaplib를 통해 메일서버에 접속하여 가져올 수 있다.메일을 보내고 싶을땐 smtplib를 사용한다.  사용중인 메일의 설정을 보면 IMAP/SMTP host와 port 정보가 나오고사용여부를 설정할 수 있다.  IMAP serverimport imaplibimap = imaplib.IMAP4_SSL(host=host, port=port)imap.login(user=email_id, password=email_pwd) IMAP 메일함 선택imap.select("iNBOX") IMAP 메일 필터링# imap.search(charset, criterion[, ...])# UNSEEN = 읽지 않은 메일# SINCE {DATE} = 특정 날짜 이후에 도..
CGI, WSGI, ASGI
·
개발/PYTHON
웹 서버와 웹 애플리케이션 간의 인터페이스를 정의하는 표준 그 대표적인 예로 CGI, WSGI, ASGI가 있다. CGI (Common Gateway Interface)설명: 초기의 웹 서버와 애플리케이션 간 인터페이스 방식으로, 각 HTTP 요청마다 새로운 프로세스가 생성장점: 다양한 언어로 스크립트를 작성할 수 있는 단순한 구조.단점: 매 요청마다 프로세스가 생성되기 때문에 성능이 떨어지고 서버 부하가 큼 WSGI (Web Server Gateway Interface)설명: CGI의 성능 문제를 해결하기 위해 파이썬에서 제안된 표준 인터페이스로, 지속적으로 실행되는 프로세스를 사용하여 성능을 향상.장점: 멀티스레드/멀티프로세스 환경 지원, 미들웨어로 다양한 기능 확장 가능.단점: 동기 방식이므로 실시..
Python 3.11 소식
·
개발/PYTHON
https://zdnet.co.kr/view/?no=20220519171652 파이썬 3.11 베타버전 공개...최대 60% 속도 향상 프로그래밍 언어 파이썬의 신규 베타버전이 공개됐다. 기존 버전에 비해 최대 60% 빨라진 속도가 특징이다.18일(현지시간) 파이썬 소프트웨어 재단은 파이썬 3.11의 첫 번... zdnet.co.kr python 3.11 베타버전이 공개 되었고 속도는 60% 향상 되었다고 한다. 기대 중...
PyCharm ssh sftp 연결하기
·
개발/PYTHON
pycharm → preferences (command + ,) → project: {project명} → project interpreter → 쩜3개 → add ssh interpreter -> host : ec2 ip -> username : username -> next pemkey 사용시 Key pair (OpenSSH or PuTTY) remote server에서의 interpreter 위치 ( python2.x : /usr/bin/python, python3.x : /usr/bin/python3 ) remote server에 python3 안깔려 있으면 설치 후 interpreter 셋팅 sudo 로 실행해야 할 경우 interpreter 밑에 체크박스 체크 Sync folders 에 loc..