본문 바로가기
반응형

분류 전체보기1009

VSCode - Pylint로 Python 코드 퀄리티 올리기 https://code.visualstudio.com/docs/python/linting 이전 글에서 에러 해결과 함께 정리해보았는데, 여기서 조금 Lint 부분만 정리해 본다. 우선 python 용 Linting 기능을 담당하는 pylint를 설치하자. pip3 install pylint 이후에는 Language Server를 Jedi로 설정할 것을 추천한다. 아래 설정 화면은 VSCode의 플러그인 메뉴에서 Python의 톱니 바퀴를 선택하여 환경설정을 선택할 수 있다. 그리고 아래와 같이 Jedi를 선택하자. 이렇게 구성한 이후 VS Code를 전체 종료하고 다시 설정을 진행해보기 바란다. 정상적으로 Linting이 완료되면, 아래와 같이 Problem 창에서 현재 코드의 오류, 경고등을 확인해 준.. 2024. 3. 3.
Python - Boto3 S3 대량 데이터 가져오기, paginator Boto3 라이브러리는 Python에서 AWS 리소스를 사용하기 위해 가장 많이 사용되는 라이브러리로 여기에서 최근 알게된 팁을 하나 정리해 본다. 아마 가장 많이 사용하는 기본적인 코드 방식은 다음과 같을 것이다. import boto3 client = boto3.client('s3') my_bucket = s3.Bucket('bucket_name') for file in my_bucket.objects.all(): print(file.key) 위 코드를 통해 기본적으로 쿼리를 진행하면 한번에 최대 1000개의 데이터만 가져올 수 있다. 하지만 기업에서 사용하는 데이터를 보통 더 많은 데이터를 보관하고 있기 때문에 1000개의 제한을 해결할 수 있는 방식을 추가로 제공하는데, ListObjectV2를 .. 2024. 3. 3.
Python - 코드 네이밍 스타일 (snake_case, camel_case, upper_case) 코드 네이밍은 서로 몇가지 규칙을 개발자들 사이에서 코드 가독성과 공유시 보다 이해가 쉽도록 하는데 있다. 필수도 지킬 필요는 없지만, 동일한 규칙을 사용하게 되면, 서로 다른 개발자가 개발한 코드라도 이해도가 높아지고 코드의 완성도가 높아지기 때문에 되도록이면 규칙을 정해서 사용하는 것이 좋다. 오늘은 Python 의 Linting highlights syntactical and stylistic problems와 Code Quality 로 활용할 수 있는 Linting 기능을 이용하면 Snake_case Name 경고를 볼 수 있는데, Python에서 추천하는 Code Naming인 Snake Case와 그외 많이 사용하는 Camel Case, 그리고 Upper Case에 대해서 정리해 보겠다. Sn.. 2024. 3. 3.
Python - reverse/reversed 리스트 역순으로 뒤집기 프로그램을 실행하다보면, list을 뒤에서 부터 실행해야하는 경우가 종종 발생한다. 이때 유용한 명령이 reverse/reversed 이다. 이 둘의 결과를 반환 유무의 차이가 있다. reverse 지정한 list를 역순으로 뒤집는다. test = [1,2,3,4,5] test.reverse() print(test) [5,4,3,2,1] reversed 지정한 list의 역순으로 뒤집은 결과를 반환한다. test = [1,2,3,4,5] print(list(reversed(test))) [5, 4, 3, 2, 1] for i in reversed(test): print(i) 2024. 3. 3.
Python - Pylint Error Code 테이블 전체 예외할 때 에러 코드 기준으로 해야 해서 여기에 정리해 본다. Ctrl + F 키로 에러 이름을 이용해 검색해서 보기를 권장한다. GitHub - janjur/readable-pylint-messages: List of pylint human readable message ids and dev readable codes 에러 비활성화 방법은 아래를 참고하기 바란다. 에러 코드를 확인하는 방법은 에러 이름을 통해 확인하고 코드를 기입하면 비활성화가 가능하다. Blogger 이메일 또는 휴대전화 accounts.google.com 2024. 3. 3.
Python - Pylint Error Code 테이블 전체 예외할 때 에러 코드 기준으로 해야 해서 여기에 정리해 본다. Ctrl + F 키로 에러 이름을 이용해 검색해서 보기를 권장한다. GitHub - janjur/readable-pylint-messages: List of pylint human readable message ids and dev readable codes 에러 비활성화 방법은 아래를 참고하기 바란다. 에러 코드를 확인하는 방법은 에러 이름을 통해 확인하고 코드를 기입하면 비활성화가 가능하다. 2024. 3. 3.
Python - 함수 주석 설명 팁 프로그램이 길어지고 호출해야 하는 함수가 다양한 파일에 존재한다면, 함수 호출을 위해 도움을 줄 수 있는 설명을 달아주는 것이 효율적이다. 여기서는 함수 설명을 어떻게 달 수 있는지와 알아두면 좋은 3가지 항목에 대해서 설명해 보도록 하겠다. 아래와 같이 test 함수가 있다고 치자. 여기에 설명을 달고자 한다면, 쌍따옴표 3개를 이용해서 감싸고 원하는 설명을 넣으면 된다. def test(a = 'a', b = 1, c = None): """ test 함수입니다. a (str): a value b (int): b value c (str): c value """ pass 이때, 함수에서 사용되는 인자값(아규먼트, 파라메터)도 함께 기입을 해주면 보다 각 인자값들이 어떻게 사용되는지 쉽게 알 수 있기 때문.. 2024. 3. 3.
Python - Workday 공휴일, 날짜 인지 확인 업무일자에만 실행해야 하는 경우 어떻게 만들 수 있을까? 필자의 경우 알람을 개발하는데, 공휴일에 알람이 온다면 알람을 받는 사람도 괴롭고, 실제 알람의 효과도 없을 것으로 이를 개선하기 위해서 비즈니스(업무일자)에만 알람을 전달하는 기능을 개발하기 위해서 추가한 코드를 정리해 보았다. 요약해 보면, Python의 Numpy의 is_busday를 사용하면 쉽게 구현이 가능하다. 코드는 다음과 같다. import numpy import datetime now = datetime.datetime.utcnow() now = now + datetime.timedelta(hours=9) workday = now.today().strftime("%Y-%m-%d") numpy.is_busday(workday) Tru.. 2024. 3. 3.
Python - smtplib 기본 라이브러리를 이용한 text/html 메일 보내기 대부분 프로그래밍에서는 메일 전달과 관련된 기본 라이브러리 및 예제 코드를 제공하고 있다. 오늘은 Python 부분에 대해서 메일 전송 방안에 대해 정리해 보고자 한다. 여기에서는 기본 라이브러리를 활용한 방안에 대해서 정리해 보도록 하겠다. MailSender 함수 만들기 메일에 내용이나 본문이 변경될 수 있기 때문에 아래와 같이 함수를 선언하여 사용하는 것을 추천한다. 아래 코드에서 유심있게 봐야하는 부분은 보내야 하는 대상 즉 To가 여러명일 경우, sendmail 에서의 To 데이터와 Message["To"]에 들어가는 데이터 형식이 다르다는 것이다. smtplib 의 sendmail 에서는 []를 이용한 리스트 형태로 들어가야 한다. 하지만 message["To"] 에서는 string으로 들어가.. 2024. 3. 3.
반응형