Yaml safe_load

Yaml safe_load
A YAML é uma linguagem de serialização que pode ser lida por seres humanos e é frequentemente usada para armazenar os dados e a configuração dos arquivos. Parsing é o processo de examinar ainda mais a estrutura lógica depois de ler os dados do arquivo YAML. Quando um arquivo YAML é analisado em Python, seu conteúdo é analisado como um dicionário em Python. O ".yml "ou".YAML ”são as duas extensões de arquivo possíveis para os arquivos YAML.

Por que usar o yaml.Função de Safe_load?

Existem inúmeras instâncias do aplicativo pyyaml ​​em que o carregamento () é utilizado no lugar do saving_load (). Nós propositadamente retiramos as informações sobre a função de carregamento () até agora. Queríamos que eles utilizassem a técnica mais segura para analisar o YAML com Python, porque a maioria das pessoas tem empregos para executar e tem uma tendência a copiar apressadamente alguns códigos de exemplo. No entanto, se você está se perguntando como esses dois variam um do outro, a versão rápida é a seguinte:

Se você estiver familiarizado com o picles, saberá que o load () também é uma função altamente forte. Ambas as técnicas são extremamente inseguras, pois deixam um atacante executar o código arbitrário. Você pode executar o script python, incluindo ligar para o sistema operacional.Biblioteca do Sistema, que pode executar qualquer comando em seu sistema e serializar e desserializar os objetos completos do Python usando a função de carga do Pyyaml. A função de carga () é preterida nas versões recentes de pyyaml. Usá -lo de maneira insegura resultará em um enorme aviso de gordura. Como o cofre_load () contém apenas uma parte da função de carga, ele deve ser usado se você estiver processando os arquivos YAML comuns.

Como usar o Yaml.Função de Safe_load no Ubuntu

Para usar a YAML no Ubuntu 20.04, temos que instalá -lo primeiro. Os dados da YAML podem ser analisados ​​por uma variedade de bibliotecas Python. A estrutura mais popular e abrangente para analisar o YAML é Pyyaml. Você deve usar o PIP para instalar o pyyaml ​​porque não é um componente da biblioteca Python padrão. Instale o Pyyaml ​​executando o seguinte comando:

Exemplo #1: Usando a função SAVE_LOAD para ler e analisar um arquivo YAML

Depois de instalar o Python e as bibliotecas necessárias, criamos dois arquivos (o .arquivo py e .arquivo yml) para demonstrar como podemos analisar um arquivo YAML no Python. Vamos criar um ".arquivo py ”e nomeie -o como“ olá.py ”e o arquivo yaml como“ config.yaml ”.

Como visto na imagem anterior, criamos um arquivo YAML com um URL, número da porta e um vetor de números uniformes. Agora, importe o módulo como mostrado a seguir para utilizar o pyyaml ​​em seus scripts. Lembre -se de que você só importa o "YAML" e não o "pyyaml":

Para executar isso, acessamos a pasta onde nossos arquivos estão localizados. Depois de chegar à pasta, escrevemos o Python3 junto com o nome do arquivo com a extensão.

Este arquivo de configuração pode ser carregado, analisado e usado de uma maneira muito idêntica a carregar o JSON usando o pacote python json. Primeiro, abrimos o arquivo. O yaml.a função spear_load () é então usada para analisá -la. Observe que alteramos um pouco o resultado para melhorar sua legibilidade para você.

Exemplo #2: lendo o .Dados do arquivo YML de um arquivo YAML no Python

Para analisar esse arquivo neste exemplo, primeiro criamos um arquivo YAML/YML chamado “Alunos.YML ”com as seguintes informações:

Depois de criar o “.Arquivo YML ”, escrevemos o seguinte script Python para ler o“ alunos.Arquivo YML ”classificou o conteúdo, dependendo das chaves. O script utilizou a função SAVE_LOAD () para ler todo o conteúdo do “aluno.arquivo yml ”. A saída deste método é uma lista de dicionários em python representando o conteúdo do arquivo. A lista é então transformada em um fluxo YAML usando o método Dump () que foi impresso desde então.

Para executar este script, escrevemos o Python3 junto com o nome do arquivo com a extensão.

A saída mostrada após a execução do script acima mencionado é a seguinte. Cada dicionário na lista Python de dicionários que foram criados após a conversão do conteúdo dos “alunos.O arquivo YML ”nos membros da YAML é convertido. A configuração padrão para o parâmetro de tecla de classificação do método dump () é verdadeiro. À luz das teclas, a saída exibe o conteúdo YAML classificado.1

Exemplo #3: lendo os valores e chaves do .Arquivo YML

Neste exemplo, usamos os mesmos arquivos anteriores (olá.PY e estudantes.yml). A função Item () é usada para ler as chaves e seu valor relacionado após o conteúdo do arquivo ser carregado na variável de leitura. Os pares de valor-chave foram impressos usando um loop aninhado "para" que iterou sobre todo o conteúdo do arquivo.

Este script gera os resultados da seguinte forma:

Depois de executar o script acima mencionado, a saída listada será exibida. O script não usa a função Dump (), portanto o conteúdo do arquivo não foi classificado.

Exemplo #4: lendo o .Dados de arquivo YML na lista de dicionários

O conteúdo do arquivo YAML é transformado em uma lista de dicionários em python usando o método spear_load (). Os dados também podem ser carregados de fontes não confiáveis ​​usando esta técnica. Para carregar o conteúdo do arquivo YAML usando o método sAFE_LOAD () e imprimir o conteúdo carregado, crie um arquivo python que contenha o seguinte script:

O script anterior converte os dados do “.Arquivo YML ”em uma lista de dicionários.

Como você pode ver, depois de executar o script acima mencionado, os dados do “.O arquivo YML ”(contendo os dados dos alunos) é convertido em uma lista de dicionários. O resultado contém uma lista de todos os dicionários disponíveis.

Conclusão

Este artigo demonstrou os múltiplos métodos para ler o conteúdo da YAML dos arquivos e objetos Python usando os vários exemplos. Neste post, discutimos os arquivos YAML e os vários métodos para analisá-los usando o spear_load (), que é uma função embutida do YAML. Nos exemplos deste tutorial, tentamos ensiná -lo a ler e analisar um “.Arquivo YML ”, lendo os valores e chaves de um“.Arquivo YML ”e converta o“.Dados do arquivo yml ”em uma lista de dicionários usando a função spear_load ().