본문 바로가기
반응형

python71

[AWS] Lambda 따라하기 (python) #2 지난 포스트에 이어서, Lambda 함수 생성 > 새로 작성 > zip 업로드(library 포함) 을 진행 해보도록 하겠습니다. "함수 생성" 을 눌러서 Lambda 함수를 생성합니다. (여기까지 오는 방법을 모르시면 지난 포스트를 보세요~) 저는 지난 포스트에서 작성했던 hello-bryan 함수에 설명을 이어서 하겠습니다. 우측에 "에서 업로드" 버튼이 있습니다. 옵션으로는 ".zip파일", "Amazon S3 위치"가 있네요. ".zip 파일" 을 사용할 것이지만, 먼저 zip 파일을 만들어야 겠습니다. 1. Python 코드 작성 외부 라이브러리를 써봐야 겠는데요. 흔히 사용하는 requests 를 사용하겠습니다. 우선 소스코드는 아래와 같이 동작을 합니다. url 은 album 정보가 있는 1.. 2023. 1. 12.
[Docker] container 실행 시 python 무한 대기 Dockerfile 마지막에 CMD tail -f /dev/null 2022. 12. 27.
[Python] 파일 확장자 가져오기 (get file extension) Python Get File Extension 다양한 방법이 있지만, 제가 선호하는 순서대로 작성해보겠습니다. 1. pathlib python 3.4 이상에서 사용 하나의 파일 이름에 점(.)이 여러개라도 가져옴 import pathlib my_path = 'hello/bryan.zip' a = pathlib.Path(my_path).suffix print(a) # '.zip' .tar.gz 같은 경우는? import pathlib my_path = 'hello/bryan.tar.gz' a = pathlib.Path(my_path).suffixes print(a) # ['.tar', '.gz'] 참고로 tar.gz 로 끝나는 파일인지 체크하려면 ''.join(a).endswith('.tar.gz') 2... 2022. 11. 14.
[Python] exception 메시지 자세히 출력하기 (Traceback) try except 에서 Traceback log 찍기 바로 예제 보시죠 try: print('오류 전') 0/0 print('오류 후') except Exception as ex: print('except 로 들어옴') print(ex) 실행 결과는 오류 전 except 로 들어옴 division by zero 이렇게 나옵니다. print(str(ex)) 도 마찬가지죠. ex 에서 뭐를 뽑을 수 있을까요? 음.. 뭐 없네요 ㅎㅎ logging 이나 개발자에게 알람 메시지를 보내고 싶은데, 딸랑 'division by zero' 이라고 보내면.. 뭐 어디서 오류난건지 찾는게 더 어렵겠죠. 이럴때 traceback 을 쓰면 자세한 오류 내용을 문자열로 받아올 수 있습니다. 수정된 코드 import trac.. 2022. 10. 25.
[Python] host(ip,url) port 로 연결 가능한지 확인 port 로 Ping 날려보기 Python Socket 을 이용한 방법 hello-bryan.service.com:8080 으로 통신해야할 일이 있을 때, 우선 접속이 가능한지 체크해보는 방법입니다. 아래와 같은 메소드를 정의해 두고, result = is_connectable('hello-bryan.service.com', '8080') # result = True or False def is_connectable(ip, port): import socket s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.settimeout(1) try: s.connect((ip, int(port))) s.shutdown(socket.SHUT_RDWR) return True except: retu.. 2022. 9. 28.
[Python] 현재 날짜 포멧 출력하기 from datetime import datetime format_data = "%Y-%m-%d %H:%M:%S.%f" now_str = datetime.now().strftime(format_data) print(now_str) # 2022-08-22 19:11:38.565332 포멧 종류는 아래와 같습니다. format code meaning example %a Abbreviated weekday name Sun, Mon %A Full weekday name Sunday, Monday %w Weekday as decimal number 0…6 %d Day of the month as a zero-padded decimal 01, 02 %-d day of the month as decimal numbe.. 2022. 8. 22.
[Python] 실행시간 체크하기. decorator 사용하기 기본적으로 파이썬에서 time 을 이용해서 실행시간 체크하는 방법입니다. import time # 작업 전 시간 start = time.time() print('work something') time.sleep(1) # 작업 후 시간 end = time.time() # 시간 계산 print(f'time = {(end-start)}s') # time = 1.005115270614624s 시간의 소수점이 너무 길다면 출력 format 을 변경합니다. print(f'time = {(end-start):.3f}s') # time = 1.005s 함수 실행 시간 체크 특정 함수가 있을 때, 그 함수의 실행 시간을 체크하는 방법입니다. start = time.time() some_function() end = ti.. 2022. 8. 13.
opencv-python 설치 시 오류 (Could not build wheels for opencv-python which use PEP 517 and cannot be installed directly) Failed building wheel for opencv-python Running setup.py clean for opencv-python Failed to build opencv-python Could not build wheels for opencv-python which use PEP 517 and cannot be installed directly new environment 에 설치하는데 저런 오류가 발생합니다. 구글링 해보니, 대부분 해결책이 pip install --upgrade pip setuptools wheel 이렇게 하고, 다시 아래처럼 install 하면 해결된다고 하는데요.. pip install opencv-python 전 첫번째 명령어도 실행하는데 오류가 발생합니다. 오류.. 2022. 3. 22.
[PyQT5] 처음부터 따라하기 #4. ui component binding PyQT5 따라하기 #4 UI Components Binding Python 에서 UI Component 사용하기 이전 글에 이어서 소스에 추가를 하겠습니다. self.window = loader.load(ui_file) 이렇게 window 를 load 했다면, 바인딩 하는 코드는 self.my_line_edit = self.window.findChild(QLineEdit, objectName) # 여기서 objectName 은 designer.exe 에서 설정한 objectName 입니다. 바인딩 저는 편하게 쓰기 위해서 private 함수를 만들어봤습니다. def __bindQLineEdit(self, objectName): return self.window.findChild(QLineEdit, ob.. 2022. 3. 17.
[Python] [Streamlit 사용법] 4. session_state Streamlit session_state session 과 같은 개념입니다. 기본 사용법 / 초기화 import streamlit as st st.session_state['user_name'] # 오류!! 해당 key 가 존재하지 않은데 사용할 경우, 이와같이 오류가 발생합니다. 초기화 방법 if 'user_name' not in st.session_state: st.session_state['user_name'] = '' key 체크를 먼저 해주고 기본값을 입력하면 됩니다. 아래와 같이, dictionary 방법과 attribute 방법 모두 사용할 수 있습니다. import streamlit as st if 'user_name' not in st.session_state: st.session_st.. 2022. 2. 22.
728x90
반응형