프로젝트에 다음과 같은 파일이 있다고 상상해 보세요.
# 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!