JSON e YAML

JSON

JSON significa JavaScript Object Notation e é um formato leve para armazenar e transportar dados. JSON é frequentemente usado quando dados são enviados de um servidor para uma página web.

# Read JSON file: json.load() parses JSON from file object
import json
with open("filename.json", "r") as f:  # Abrir arquivo no modo de leitura
    content = json.load(f)  # Analisar JSON e retornar dict/list Python

Escreva um arquivo JSON com:

# Write JSON file: json.dump() writes Python object as JSON
import json

content = {"name": "Joe", "age": 20}
with open("filename.json", "w") as f:  # Abrir arquivo no modo de escrita
    json.dump(content, f, indent=2)  # Escrever JSON com indentação de 2 espaços
Quiz

Faça login para responder este quiz e acompanhar seu progresso de aprendizagem

Qual função é usada para escrever um dicionário Python em um arquivo JSON?
A. json.write()
B. json.dump()
C. json.save()
D. json.export()

YAML

Comparado ao JSON, o YAML permite uma manutenibilidade humana muito melhor e dá a capacidade de adicionar comentários. É uma escolha conveniente para arquivos de configuração onde um humano terá que editar.

Existem duas bibliotecas principais que permitem acesso a arquivos YAML:

Instale-as usando pip install no seu ambiente virtual.

A primeira é mais fácil de usar, mas a segunda, Ruamel, implementa muito melhor a especificação YAML, e permite, por exemplo, modificar um conteúdo YAML sem alterar comentários.

Abra um arquivo YAML com:

# Read YAML file using ruamel.yaml library
from ruamel.yaml import YAML

with open("filename.yaml") as f:
    yaml=YAML()  # Criar instância do analisador YAML
    yaml.load(f)  # Analisar YAML e retornar dict/list Python
Quiz

Faça login para responder este quiz e acompanhar seu progresso de aprendizagem

Qual é uma vantagem do YAML sobre o JSON?
A. Arquivos YAML são menores
B. YAML é mais rápido de analisar
C. YAML permite comentários e é mais legível por humanos
D. YAML é embutido no Python

Anyconfig

Anyconfig é um pacote muito útil, permitindo abstrair completamente o formato subjacente do arquivo de configuração. Ele permite carregar um dicionário Python de JSON, YAML, TOML, e assim por diante.

Instale-o com:

pip install anyconfig

Uso:

# anyconfig: load configuration files in various formats (JSON, YAML, TOML, etc.)
import anyconfig
conf1 = anyconfig.load("/path/to/foo/conf.d/a.yml")  # Detecta o formato automaticamente
Quiz

Faça login para responder este quiz e acompanhar seu progresso de aprendizagem

O que a biblioteca anyconfig permite que você faça?
A. Carregar arquivos de configuração em vários formatos (JSON, YAML, TOML) sem especificar o formato
B. Converter entre diferentes formatos de configuração
C. Validar a sintaxe do arquivo de configuração
D. Criptografar arquivos de configuração