>백엔드 개발 >파이썬 튜토리얼 >pyya - Python 프로젝트에서 YAML 구성을 관리하는 방법

pyya - Python 프로젝트에서 YAML 구성을 관리하는 방법

Linda Hamilton
Linda Hamilton원래의
2024-12-15 04:28:13512검색

pyya - The way to manage YAML config in your Python project

프로젝트에 다음과 같은 파일이 있다고 상상해 보세요.

# config.yaml
database:   
    host: localhost
    port: 5432
    username: postgres
    password: postgres

Python에서 이 dot yaml 구성 파일을 구문 분석하려면 일반적으로 다음을 수행합니다.

import yaml # pip install PyYAML

with open("config.yaml", encoding='utf-8') as fstream:
    config_yaml = yaml.safe_load(fstream)

결과 사전에서 Javascript와 유사한 객체를 생성하려면 아마도 다음을 추가할 것입니다.

from munch import munchify # pip install munch

config = munchify(config_yaml)

pyya는 한 가지 기능을 사용하여 자동으로 이를 수행합니다.

from pyya import init_config

config = init_config(
    'config.yaml', 'default.config.yaml', 
    merge_configs = False,
    convert_keys_to_snake_case = False,
    add_underscore_prefix_to_keywords = False
    raise_error_non_identifiers = False)
print(config.database)

# Output:
# Munch({"host": "localhost", "port": 5432, "username": "postgres", "password": "postgres"})

이 플래그는 모두 어떻게 되나요?

merge_configs True로 설정된 경우 config.yaml을 default.config.yaml(또는 지정한 이름이나 경로)과 비교하여 후자에 없는 모든 필드를 전자에 추가합니다. False로 설정하면 나머지 플래그에 의해 수행되는 모든 병합 및 모든 서식이 비활성화됩니다.

convert_keys_to_snake_case는 단순히 구성 키를 파이썬처럼 보이게 만들기 때문에 설명이 필요하지 않습니다. 그러나 이 플래그는 로깅 구성과 같은 일부 설정을 손상시킬 수 있습니다.

add_underscore_prefix_to_keywords 구성 키가 Python 키워드이기도 하면 앞에 밑줄이 추가됩니다(class_class가 됨). 속성 액세스 작업이 더 잘 가능합니다.

raise_error_non_identifiers 구성 키도 유효하지 않은 Python 식별자인 경우 오류가 발생합니다.

다음과 같이 pyya를 설치할 수 있습니다.

pip install pyya

기여와 제안을 환영합니다: https://github.com/shadowy-pycoder/pyya

위 내용은 pyya - Python 프로젝트에서 YAML 구성을 관리하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.