저는 YAML을 처음 사용하며 YAML 파일을 구문 분석하고 구문 분석 된 YAML의 데이터를 사용 / 액세스하는 방법을 찾고 있습니다.
YAML 파일을 구문 분석하는 방법에 대한 설명을 보았습니다. 예를 들어 PyYAML 튜토리얼 , ” How can I parse a YAML file in Python “, ” Convert Python dict to object? “그러나 내가 찾지 못한 것은 구문 분석 된 YAML 파일에서 데이터에 액세스하는 방법에 대한 간단한 예입니다.
다음과 같은 YAML 파일이 있다고 가정합니다.
treeroot:
branch1: branch1 text
branch2: branch2 text
“branch1 text”텍스트에 어떻게 액세스합니까?
” YAML 구문 분석 및 Python? “이 솔루션을 제공하지만 더 복잡한 YAML 파일에서 데이터에 액세스하는 데 문제가있었습니다. 그리고 구문 분석 된 YAML 파일에서 데이터에 액세스하는 표준 방법이 있는지 궁금합니다. ” 트리 반복 “또는 ” elementpath “표기법 과 유사한 것 또는 XML 파일을 구문 분석 할 때 사용되는 것입니까?
답변
PyYAML의 yaml.load()
함수는 YAML 문서를 네이티브 Python 데이터 구조로 구문 분석 하므로 키 또는 인덱스로 항목에 액세스 할 수 있습니다. 연결 한 질문의 예를 사용하여 :
import yaml
with open('tree.yaml', 'r') as f:
doc = yaml.load(f)
액세스하려면 branch1 text
다음을 사용하십시오.
txt = doc["treeroot"]["branch1"]
print txt
"branch1 text"
YAML 문서에서 branch1
키 값이 키 아래에 있기 때문 treeroot
입니다.