본문 바로가기

기록128

[Python] 파이썬 timeout 데코레이터 - API 실행 시간 5초 초과됐을 때 pass 처리하는 방법 기록 목표 : 외부 API를 여러개 사용해 각 데이터를 취합해 return 해주는 방식인데, 외부 사이트 사정으로 무한로딩에 걸리는 경우가 있어서 5초 이상 걸리면 그냥 pass 해주기로 했다. 첫 번째 방법 : signal를 활용한 timeout 데코레이터 검색해보면 가장 먼저 뜨는 게 signal를 활용한 방법이다 참고 : https://growd.tistory.com/57 https://daeguowl.tistory.com/139 하지만 signal은 window에서 사용이 불가능하다고 해서 테스트가 불가. Unix 환경에서만 가능한 것 같다. 참고 : https://stackoverflow.com/questions/52779920/why-is-signal-sigalrm-not-working-in-pyt.. 2022. 8. 8.
[Python] 파이썬 SQL ProgrammingError 해결 오류: ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 해당 소스코드: sql = 'replace INTO test(GROUP, QUESTION, ANSWER) VALUES(%s, %s, %s)' 원인: 컬럼명이 GROUP 으로 되어있어서 해결: GROUP -> GROUP_NM 으로 변경 2022. 8. 8.
[Python] 파이썬 request.args.get 두 번째 인자가 하는 일 value = request.args.get("key", "") 첫 번째 인자로 key를 넘겨주면 딕셔너리에 있는 첫 번째 value을 얻고, 만약 key에 해당하는 value가 딕셔너리에 없다면 두 번째 인자를 default value로써 반환합니다. 두 번째 인자의 기본 값은 None 입니다. 출처 : https://dreamhack.io/forum/qna/1558 2022. 7. 25.
[Python] 파이썬 asyncio RuntimeError 해결 방법 오류 : RuntimeError: Install Flask with the 'async' extra in order to use async views. 해결방법 : 1. 파이참 터미널에 pip install aioflask 2. flask 임포트문 변경 -> from aioflask import Flask, request, Response 참고 : https://stackoverflow.com/questions/70321014/runtimeerror-install-flask-with-the-async-extra-in-order-to-use-async-views 2022. 7. 25.
[Python] 파이썬 중첩 딕셔너리 접근 방법 1. 인덱스 접근 statusCode = results['MetaData']['statusCode'] 중첩 딕셔너리인 results의 인덱스로 접근하여 해당하는 값을 가져오는 방법이다. statusCode의 value 값이 변수에 저장된다. 2. get statusCode = results['MetaData'].get('statusCode') 1번과 차이점 : 인덱스로 값을 가져오면 해당 key가 존재하지 않을 때 error 발생하지만, get을 활용해 가져오면 오류가 안나고 None 값이 들어온다 최종 코드 statusCode = results['MetaData'].get('statusCode') if statusCode == '200': finalResult = dict(index='index', r.. 2022. 7. 25.