Analisar um arquivo YAML em Python
Este tutorial demonstrará diferentes maneiras de analisar um arquivo YAML em Python.
YAML é um padrão de serialização de dados usado como um tipo de arquivo para armazenar arquivos de configuração ou propriedade em um projeto. O YAML geralmente substitui os arquivos de configuração XML ou JSON típicos porque os arquivos são mais fáceis de serializar do que os dois tipos de arquivo.
Use o pacote PyYAML
para analisar YAML em Python
pyyaml
é um pacote Python que fornece utilitários para analisar e manipular arquivos YAML dentro do Python.
O primeiro passo a fazer é instalar pyyaml
usando pip
uma vez que não está prontamente disponível para Python.
pip install pyyaml
Para usuários do Python 3.x, use pip3
em vez de pip
.
pip3 install pyyaml
Agora que a instalação está concluída, prossiga para analisar um arquivo YAML de amostra. Um arquivo YAML sempre terá três traços ---
no início do arquivo para denotar o início de um novo documento YAML.
Observe que os espaços devem ser usados exclusivamente ao recuar arquivos YAML, pois esses arquivos não reconhecerão os espaços de tabulação como recuos.
Os arquivos YAML podem ter uma extensão .yaml
ou .yml
.
sample.yaml
---
name: "John"
age: 23
isMale: true
hobbies:
- swimming
- fishing
- diving
Para ler o arquivo YAML fornecido em Python, importe o módulo yaml
primeiro. Depois, abra o arquivo yaml usando a função open()
. O módulo yaml
tem uma função predefinida load()
, que aceita um arquivo como argumento, carrega um arquivo YAML em Python e o converte em um tipo de dados de objeto Python.
import yaml
with open("sample.yaml", "r") as f:
print(yaml.load(f))
Se você imprimir a saída de yaml.load()
, ele exibirá o conteúdo do arquivo YAML em um formato de objeto Python.
Resultado:
{'name': 'John', 'age': 23, 'isMale': True, 'hobbies': ['swimming', 'fishing', 'diving']}
Para ter certeza de que o arquivo YAML existe e não está corrompido, seguro de usar, podemos adicionar um bloco try
e capturar a exceção usando o objeto de erro embutido no módulo yaml
YAMLError
. Outra camada para tornar o código mais seguro de usar é substituir a função load()
por safe_load()
, que valida o arquivo YAML antes de carregá-lo.
import yaml
with open("sample.yaml", "r") as stream:
try:
print(yaml.safe_load(stream))
except yaml.YAMLError as exc:
print(exc)
Essa solução tem a mesma saída da solução anterior, embora seja uma abordagem muito mais segura para analisar um arquivo YAML em Python.
Em resumo, a análise de um arquivo YAML em Python é facilmente alcançável usando o módulo yaml
. Certifique-se de executar pip install pyyaml
antes de usar o módulo, pois ele não está prontamente integrado.
É sempre uma boa prática encapsular as funções de manipulação de arquivo com blocos try...except
para garantir que a manipulação de arquivo ocorra sem problemas e seja segura para ser executada.
Skilled in Python, Java, Spring Boot, AngularJS, and Agile Methodologies. Strong engineering professional with a passion for development and always seeking opportunities for personal and career growth. A Technical Writer writing about comprehensive how-to articles, environment set-ups, and technical walkthroughs. Specializes in writing Python, Java, Spring, and SQL articles.
LinkedIn