본문 바로가기

Python13

python-dotenv, pydantic_settings를 통한 환경 변수 관리 FastAPI 사용 기준, main.py 파일과 동일한 경로에 .env 파일을 위치시켜야 한다.# .envENVIRONMENT=LOCALpython-dotenv 라이브러리가 .env 파일을 자동으로 읽는다.from dotenv import load_dotenv# setup environmentload_dotenv()environment = os.getenv("ENVIRONMENT")print(f"env: {environment}") # LOCAL서버 환경 변수에 설정된 값은 load_dotenv()를 선언하지 않아도 된다. pydantic_settings를 통해 환경 변수를 설정할 수도 있다.import osfrom enum import Enumfrom typing import ClassVarfrom p.. 2024. 3. 28.
f-string # 숫자에 콤마 표시 f"{price:,}" # 1000 -> 1,000 # 숫자 앞에 패딩 처리 f"{num:02}" # 1 -> 01 f"{num:03}" # 1 -> 001 2024. 3. 28.
DTO, 객체 인스턴스 생성 파이썬 dict 자료 구조를 통해 객체 인스턴스를 생성할 때, 아래의 코드를 작성할 수 있다.args = { "a": "apple", "b": "banana",}dto = DTO(**args) SQLAlchemy에서도 위와 비슷한 코드 작성이 가능하다.# row는 SQLAlchemy의 ROW 객체dto = DTO(**row._mapping) 반대로 Row to dictdict(row._mapping) 2024. 3. 26.
파일 읽기와 쓰기 파일을 읽거나 쓸 때, 메모리를 관리하는 방식에 차이가 있다.BASE_DIR = os.path.dirname(__file__)file = open(os.path.join(BASE_DIR, "file.json"), "r")env_info = json.load(file)[environment]file.close()file.json을 읽어 file 변수에 저장env_info에 file의 일부를 저장file.close()를 통해 메모리 관리 BASE_DIR = os.path.dirname(__file__)with open(os.path.join(BASE_DIR, "storage.json"), "r") as f: env_info = json.load(f)[environment]file.close()를 작성하.. 2024. 3. 25.