JSON 및 YAML
JSON
JSON 은 JavaScript Object Notation 의 약자로, 데이터를 저장하고 전송하기 위한 경량 형식입니다. JSON 은 종종 서버에서 웹 페이지로 데이터가 전송될 때 사용됩니다.
# JSON 파일 읽기: json.load() 는 파일 객체에서 JSON 을 구문 분석합니다
import json
with open("filename.json", "r") as f: # 읽기 모드로 파일 열기
content = json.load(f) # JSON 을 구문 분석하여 Python dict/list 반환
다음 내용으로 JSON 파일을 작성합니다:
# JSON 파일 쓰기: json.dump() 는 Python 객체를 JSON 으로 씁니다
import json
content = {"name": "Joe", "age": 20}
with open("filename.json", "w") as f: # 쓰기 모드로 파일 열기
json.dump(content, f, indent=2) # 2 칸 들여쓰기로 JSON 쓰기
퀴즈
로그인하여 이 퀴즈에 답하고 학습 진행 상황을 추적하세요
Python 딕셔너리를 JSON 파일에 쓰는 데 사용되는 함수는 무엇입니까?
A.
json.write()B.
json.dump()C.
json.save()D.
json.export()YAML
JSON 과 비교할 때, YAML 은 훨씬 더 나은 인간 유지 관리성을 허용하며 주석을 추가할 수 있는 기능을 제공합니다. 사람이 편집해야 하는 구성 파일에 편리한 선택입니다.
YAML 파일에 접근할 수 있게 해주는 두 가지 주요 라이브러리가 있습니다:
가상 환경에서 pip install을 사용하여 설치하십시오.
첫 번째 라이브러리가 사용하기는 더 쉽지만, 두 번째 라이브러리인 Ruamel 은 YAML 사양을 훨씬 더 잘 구현하며 예를 들어 주석을 변경하지 않고 YAML 내용을 수정할 수 있도록 합니다.
다음과 같이 YAML 파일을 엽니다:
# ruamel.yaml 라이브러리를 사용하여 YAML 파일 읽기
from ruamel.yaml import YAML
with open("filename.yaml") as f:
yaml=YAML() # YAML 파서 인스턴스 생성
yaml.load(f) # YAML 을 구문 분석하여 Python dict/list 반환
퀴즈
로그인하여 이 퀴즈에 답하고 학습 진행 상황을 추적하세요
JSON 에 비해 YAML 의 장점은 무엇입니까?
A. YAML 파일이 더 작습니다
B. YAML 구문 분석이 더 빠릅니다
C. YAML 은 주석을 허용하며 인간이 읽기 쉽습니다
D. YAML 은 Python 에 내장되어 있습니다
Anyconfig
Anyconfig는 기본 구성 파일 형식을 완전히 추상화할 수 있게 해주는 매우 유용한 패키지입니다. JSON, YAML, TOML 등에서 Python 딕셔너리를 로드할 수 있습니다.
다음과 같이 설치하십시오:
pip install anyconfig
사용법:
# anyconfig: 다양한 형식 (JSON, YAML, TOML 등) 의 구성 파일 로드
import anyconfig
conf1 = anyconfig.load("/path/to/foo/conf.d/a.yml") # 형식을 자동 감지
퀴즈
로그인하여 이 퀴즈에 답하고 학습 진행 상황을 추적하세요
anyconfig 라이브러리는 무엇을 할 수 있게 해줍니까?
A. 형식을 지정하지 않고 다양한 형식 (JSON, YAML, TOML) 의 구성 파일을 로드
B. 다른 구성 형식 간 변환
C. 구성 파일 구문 검증
D. 구성 파일 암호화