Leia os valores do arquivo YAML

Leia os valores do arquivo YAML
YAML é uma linguagem de serialização de dados popular desenvolvida para legibilidade e interação humana. A YAML é uma ferramenta poderosa que oferece muitos recursos e flexibilidade, tornando -a uma boa escolha ao trabalhar com arquivos de configuração.

Este tutorial deve cobrir como trabalhar com YAML e uma linguagem de script popular, Python. O Python é uma ótima linguagem usada em muitas áreas, incluindo automação (como Ansible), onde os arquivos YAML encontram uso pesado. Portanto, a capacidade de trabalhar com YAML e Python é uma grande vantagem.

Pré-requisitos

Antes de começarmos no tutorial principal, você precisará ter os seguintes requisitos atendidos.

  • Python3 instalado
  • Em uma posição para trabalhar com arquivos YAML
  • Algum conhecimento em programação python.

Instalando Pyyaml

Para trabalhar com arquivos YAML em Python, usaremos o pacote Pyyaml, um analisador YAML e um emissor para a linguagem Python. É altamente flexível e pode se aplicar a várias tarefas, como arquivos de configuração, serialização de dados e muito mais.

Para instalar o Pyyaml ​​em sua máquina, use o PIP como mostrado no comando abaixo:

PIP3 Instale Pyyaml

Como ler um arquivo YAML em Python

Para fins de ilustração, usarei um pubsec.Arquivo YAML disponível na linguagem de programação do DART. O conteúdo do arquivo YAML está abaixo:

Nome: Newtify
versão 1.2.3
Descrição:>-
Você foi transformado em um newt? Você gostaria de ser?
Este pacote pode ajudar. Tem tudo de
funcionalidade de newt-transmogrificação que você está procurando
para.
Página inicial: https: // Exemplo.com/newtify
Documentação: https: // Exemplo.com/newtify/docs
ambiente:
sdk: '> = 2.10.0 <3.0.0'
Dependências:
efts: ^2.0.4
Transagrifício: ^0.4.0
dev_dependências:
Teste: '> = 1.15.0 <2.0.0'

Crédito: Equipe de Desenvolvimento do DART - https: // DART.Dev/Ferramentas/Pub/PubSpec

Depois de editar e salvar o arquivo, podemos usar o Python para ler os valores armazenados no arquivo.

O primeiro passo é importar o pacote YAML como:

>>> Importar Yaml

Em seguida, precisamos carregar o arquivo YAML usando a função SAVE_LOAD disponível no pacote pyyaml.

>>> com o aberto (“pubsec.yaml ”) como f:
pubSec = yaml.Safe_load (f)
Return pubsec

A etapa final é montar o código. O código completo é como mostrado abaixo:

importar yaml
def main ():
com open ("amostra.yml ") como f:
pubSec = yaml.Safe_load (f)
Return pubsec
read_yaml = main ()
Imprimir (read_yaml)

Do código acima, começamos importando o pacote YAML. Em seguida, criamos uma função principal (qualquer nome funciona) e definimos a lógica para ler o arquivo YAML.

Depois que o arquivo é aberto e lido, chamamos a função principal. Nesta fase, o arquivo YAML é convertido em um dicionário Python.

Se executarmos o código, obtemos a saída:

'nome': 'newtify', 'versão': '1.2.3 ',' Descrição ':' Você foi transformado em um Newt? Você gostaria de ser? Este pacote pode ajudar. Ele tem toda a funcionalidade de transmogração newt que você está procurando.',' Página inicial ':' https: // Exemplo.com/newtify ',' Documentation ':' https: // Exemplo.com/newtify/docs ',' ambiente ': ' sdk ':'> = 2.10.0 <3.0.0', 'dependencies': 'efts': '^2.0.4', 'transmogrify': '^0.4.0', 'dev_dependencies': 'test': '>= 1.15.0 <2.0.0'

Isso não é muito legível; Você pode usar um pacote como a bela impressão para embelezar o dicionário mostrado acima como:

importar yaml
importar pprint
def main ():
com open ("amostra.yml ") como f:
pubSec = yaml.Safe_load (f)
Return pubsec
read_yaml = main ()
pprint.pprint (read_yaml)

Isso despejará o conteúdo como:

'dependências': 'efts': '^2.0.4 ',' transmogrifício ':'^0.4.0 ',
'Descrição': 'Você foi transformado em um Newt? Você gostaria de ser? Esse '
'O pacote pode ajudar. Tem toda a Newt-Transmogrificação '
'funcionalidade que você está procurando.',
'dev_dependências': 'test': '> = 1.15.0 <2.0.0',
'Documentation': 'https: // Exemplo.com/newtify/docs ',
'ambiente': 'sdk': '> = 2.10.0 <3.0.0',
'Página inicial': 'https: // Exemplo.com/newtify ',
'Nome': 'Newtify',
'versão 1.2.3 '

Agora isso é mais legível do que antes.

Como ler valores do arquivo yaml

Para ler valores do arquivo YAML acima, tudo o que precisamos fazer é acessar os dados usando a chave do dicionário.

Por exemplo, para ler o valor da chave do ambiente, usamos:

>>> Print (read_yaml ['ambiente'])

Isso nos dará o valor armazenado na chave 'ambiente' do dicionário read_yaml. Como mostrado abaixo:

'sdk': '> = 2.10.0 <3.0.0'

A saída acima é um dicionário aninhado; Podemos obter o valor real indo além do dicionário como:

print (read_yaml ['ambiente'] ['sdk'])

Isso imprimirá o valor real como:

> = 2.10.0 <3.0.0

Conclusão

Este tutorial mostrou como ler arquivos YAML no Python e ler os valores específicos de um arquivo. Isso é muito útil quando você precisa de um valor específico de um arquivo YAML para executar alguma operação,

Obrigado pela leitura e codificação feliz!