Python 308

[boto3] AWS SQS 정보 확인

개요 2022.09.29 - [aws cli] SQS 관련 정보 확인에서 AWS CLI로 SQS의 정보를 확인했다. 이번 글에서는 같은 일을 Python AWS SDK인 boto3을 이용해서 확인해보려고 한다. 필요한 권한은 모두 부여되어 있다고 가정한다. 자격 증명 확인 SQS를 다루기 위한 자격 증명은 아래 함수로 얻을 수 있다. profile, access key, EC2에 부여된 role 등을 사용할 수 있다. def get_session(profile_name=None): session = boto3.Session(profile_name=profile_name) return session def get_client(aws_access_key_id=None, aws_secret_access_key..

Python 2022.10.27

[Python] 날짜/시간 연산 (어제 날짜 구하기)

개요Python을 이용해 오늘의 매시 정각, 정오 또는 어제 날짜를 계산하고 싶다. 케이스대로 예시를 정리해둔다.   현재 시각 구하기datetime 모듈을 사용하면 현재 시각을 '2022-10-11 21:07:36.221681'와 같은 형식으로 구할 수 있다.import datetime# Local Timezoneprint(datetime.datetime.now())print(datetime.datetime.today())# UTCprint(datetime.datetime.utcnow()) 기본적으론 컴퓨터에 설정된 시간대를 기준으로 확인하지만, utcnow 함수를 사용하면 UTC 기준으로 확인한다. time 모듈을 사용할 수도 있다.import time# Local Timezoneprint(time...

Python 2022.10.24

[Python] CSV 데이터 다루기

CSV comma-separated values. 몇 가지 필드를 쉼표로 구분한 텍스트 데이터 또는 파일이다. 확장자는 .csv이며 MIME 형식은 text/csv이다. comma-separated variables라고도 한다. 스프레드시트나 데이터베이스에서 많이 사용한다. 2021.11.01 - [Python] JSON 데이터 다루기에 이어서 Python으로 CSV 데이터/파일을 읽고 쓰는 방법을 정리해둔다. csv 모듈 import csv csv 모듈은 CSV 형식의 데이터를 읽고 쓰는 클래스로, reader와 writer 객체를 사용할 수 있다. Dictionary 데이터는 DictReader와 DictWriter 객체를 이용하여 읽고 사용할 수 있다. csv 모듈은 Python 기본 내장 모듈이므..

Python 2022.10.21

[Python] 디렉터리 내 파일/디렉터리 리스트 확인 - 2

glob glob 모듈은 매개변수로 전달받은 패턴과 일치하는 모든 경로를 찾는다. 패턴은 정규식 패턴에 해당한다. 2022.10.16 - [Python] 디렉터리 내 파일/디렉터리 리스트 확인 - 1에 이어서 추가로 glob 모듈을 사용해 디렉터리 내 파일/디렉터리 리스트를 확인하는 방법을 정리한다. glob glob 함수는 매개변수로 전달받은 패턴과 일치하는 모든 파일과 디렉터리의 리스트를 반환한다. 결과 정렬 여부는 파일 시스템에 따라 다르다. import glob base_path = './*' list_file = glob.glob(base_path) for l in list_file: print(l) 서브 디렉터리 포함 모든 파일/디렉터리 확인 glob 함수의 recursive 매개변수가 Tru..

Python 2022.10.17

[Python] 디렉터리 내 파일/디렉터리 리스트 확인 - 1

개요 특정 경로 내 파일과 디렉터리 목록을 확인하고자 한다. 사용할 수 있는 방법을 정리해둔다. os.listdir(path) os.listdir 함수는 매개변수로 전달받은 경로 내의 파일과 디렉터리의 리스트를 반환한다. 매개변수가 없으면 현재 디렉터리를 기준으로 실행된다. import os base_path = './' list_file = os.listdir(base_path) print("\n".join(list_file)) 파일 탐색기에서 보이는 결과와 동일한지 확인해보자. 다만 listdir은 단순히 디렉터리 내 파일과 디렉터리에 대한 문자열 리스트만을 반환하기 때문에 해당 요소가 파일인지 디렉터리인지 용량은 얼마인지 등의 추가적인 정보를 확인하기에는 부족한 면이 있다. 따라서 Python 3...

Python 2022.10.16

[Python] open/write/read - 파일 입출력

파일 입출력 Python은 open 함수를 이용하여 파일 입출력 처리를 할 수 있다. open 함수를 이용해 파일을 읽고 써보도록 한다. open() ~ close() 기본적으로 파일명과 파일 열기 모드를 지정하여 사용하며, 파일에 작업을 마친 후에는 close 함수로 파일을 닫아야 한다. f = open('FILE', 'MODE') # 작업 f.close() 파일 열기 모드는 다음과 같다. 기본적으로 텍스트 읽기 모드로 열린다. 문자 의미 r 읽기 (기본값) w 쓰기 x 독점적인 파일 생성. 파일이 이미 존재하는 경우 실패 a 내용 추가 b 바이너리 t 텍스트 (기본값) + 갱신(읽기 및 쓰기) with open() open 함수를 사용할 때 with와 같이 사용하면 with 문 블록이 끝날 때 ope..

Python 2022.10.10

[Python] Dictionary 배열에서 조건에 맞는 원소 찾기 - 2

개요 2022.10.06 - [Python] Dictionary 배열에서 조건에 맞는 원소 찾기 - 1에서 조건 하나와 일치하는 Dictionary를 찾아보았는데, 이번에는 다중 조건을 고려해보려고 한다. 능력이 부족한 탓에 stackoverflow에 등록된 소스를 정리해둔다. 다중 조건 고려 - 최소 1개 조건 일치 Dictionary List에서 다중 조건을 고려하여 요소를 찾는 함수는 아래와 같다. 주석으로 코드의 내용을 적어두었다. # input : dictionary list, 조건(key=value) # output : dictionary def find_dict(objects, **kwargs): return next(( # list 탐색 obj for obj in objects # 배열 내..

Python 2022.10.09

[Python] any/all - 여러 요소의 참/거짓 확인

개요all, any 함수는 Python 내장 함수로 여러 개의 데이터에 대한 참/거짓을 판단할 때 사용한다. 각각 살펴보자. all(iterable)일반적으로 여러 개의 데이터가 어떤 조건을 만족하는지 확인할 때 다음과 같은 반복문을 사용해 확인하게 된다.# 전달 받은 데이터 모두 짝수인지 확인def all_positive_even(nums): for num in nums: if num all 함수는 매개변수로 iterable한 객체(list, tuple 등)를 받아, 전달받은 객체 내의 모든 요소가 True일 때만 True를 반환한다. 즉, 전달받은 객체 중 하나의 요소라도 False이면 False를 반환한다. 따라서 all 함수를 사용하면 반복문 없이도 여러 개의 데이터가 어떤 조건..

Python 2022.10.08

[Python] Dictionary 병합

개요 서로 다른 Dictionary 두 개를 병합하고자 한다. 두 Dictionary에는 중복된 키가 있을 수도 있고 없을 수도 있다. 몇 가지 방법을 정리해둔다. dictionary.update(iterable) update 함수는 호출한 Dictionary를 변경하는 함수로, 매개변수로 전달받은 Dictionary 또는 iterable 한 객체를 추가한다. key가 중복되는 경우 매개변수로 전달된 값으로 갱신된다. 예시 ) Dictionary x = {"spam": 1, "eggs": 2, "cheese": 3} y = {"cheese": "cheddar", "aardvark": "Ethel"} x.update(y) 예시 ) tuple iterable tuple 데이터에서 먼저 나열된 값이 key가 ..

Python 2022.10.07

[Python] Dictionary 배열에서 조건에 맞는 원소 찾기 - 1

개요 Dictionary를 원소로 하는 리스트를 다루던 중, 특정 속성의 값에 해당하는 원소를 찾을 필요성이 생겼다. 탐색에 사용할 속성은 1개이고, 그 속성의 값은 배열에서 unique 하지만 존재하지 않을 수도 있다. 배열 내 찾는 원소가 없을 때는 None, 또는 검색한 속성과 값을 제외하고는 값이 빈 Dictionary를 반환하고자 한다. next(iterable, default) next 함수는 반복 가능한 객체의 다음 요소를 반환하는 개체이다. default는 마지막 요소를 반환할 이후 반환할 값을 설정할 수 있다. 예로 들어 아래의 people dictionary 리스트에서 name이 Tom인 객체는 다음과 같이 찾을 수 있다. people = [ {"name": "Tom", "age": 1..

Python 2022.10.06