Yaml safe_load

Yaml safe_load
YAML est un langage de sérialisation qui peut être lu par l'homme et est fréquemment utilisé pour stocker les données et la configuration des fichiers. L'analyse est le processus d'examen plus approfondi de la structure logique après avoir lu les données du fichier YAML. Lorsqu'un fichier yaml est analysé en python, son contenu est analysé comme un dictionnaire en python. Le ".yml "ou".YAML "sont les deux extensions de fichiers possibles pour les fichiers YAML.

Pourquoi utiliser le yaml.Fonction SAFE_LOAD?

Il existe de nombreux cas de l'application Pyyaml ​​où la charge () est utilisée à la place de Safe_load (). Nous avons délibérément retenu les informations sur la fonction de chargement () de votre part jusqu'à présent. Nous voulions qu'ils utilisent la technique la plus sécurisée pour analyser le YAML avec Python parce que la plupart des individus ont des travaux à effectuer et ont tendance à copier à la hâte certains exemples de codes. Cependant, si vous vous demandez comment ces deux varient les uns des autres, la version rapide est la suivante:

Si vous connaissez Pickle, vous saurez que Load () est également une fonction très forte. Les deux techniques sont extrêmement dangereuses car ils ont laissé un attaquant exécuter le code arbitraire. Vous pouvez exécuter le script Python, y compris d'appeler le système d'exploitation.Bibliothèque système, qui peut exécuter n'importe quelle commande sur votre système et sérialiser et désérialiser les objets Python complets en utilisant la fonction de charge de Pyyaml. La fonction de charge () est obsolète dans les versions récentes de Pyyaml. L'utiliser de manière dangereuse entraînera un énorme avertissement de gras. Étant donné que le Safe_load () contient juste une partie de la fonction de chargement, il doit être utilisé si vous traitez les fichiers YAML ordinaires.

Comment utiliser le yaml.SAFE_LOAD FONCTION DANS UBUNTU

Pour utiliser Yaml dans Ubuntu 20.04, nous devons d'abord l'installer. Les données YAML peuvent être analysées par une variété de bibliothèques Python. Le cadre le plus populaire et le plus complet pour analyser le yaml est pyyaml. Vous devez utiliser le PIP pour installer le pyyaml ​​car il n'est pas un composant de la bibliothèque Python par défaut. Installez le pyyaml ​​en exécutant la commande suivante:

Exemple n ° 1: Utilisation de la fonction Safe_load pour lire et analyser un fichier YAML

Après avoir installé le Python et les bibliothèques requises, nous créons deux fichiers (le .fichier py et .Fichier YML) pour démontrer comment nous pouvons analyser un fichier YAML dans Python. Créons un ".py ”fichier et le nommez comme« bonjour.py "et le fichier yaml comme" config.yaml ".

Comme on le voit dans l'image précédente, nous avons créé un fichier yaml avec une URL, un numéro de port et un vecteur de nombres pair. Maintenant, importez le module comme indiqué dans ce qui suit pour utiliser le pyyaml ​​dans vos scripts. Gardez à l'esprit que vous importez uniquement le «yaml» et non le «pyyaml»:

Pour exécuter ceci, nous accédons au dossier où se trouvent nos fichiers. Après avoir atteint le dossier, nous écrivons le Python3 avec le nom du fichier avec l'extension.

Ce fichier de configuration peut être chargé, analysé et utilisé d'une manière très identique au chargement du JSON à l'aide du package JSON Python. Tout d'abord, nous ouvrons le fichier. Le yaml.La fonction safe_load () est ensuite utilisée pour l'analyser. Veuillez noter que nous avons légèrement modifié le résultat pour améliorer sa lisibilité pour vous.

Exemple n ° 2: lire le .Données de fichier YML à partir d'un fichier YAML dans Python

Pour analyser ce fichier dans cet exemple, nous créons d'abord un fichier YAML / YML appelé «Étudiants.yml »avec les informations suivantes:

Après avoir créé le «.Fichier YML », nous écrivons le script Python suivant pour lire les« étudiants.Contenu trié par le fichier yml en fonction des clés. Le script a utilisé la fonction safe_load () pour lire tout le contenu de «l'étudiant.fichier yml ”. La sortie de cette méthode est une liste de dictionnaires de Python représentant le contenu du fichier. La liste est ensuite transformée en un flux YAML à l'aide de la méthode Dump () qui a depuis été imprimée.

Pour exécuter ce script, nous écrivons le Python3 avec le nom du fichier avec l'extension.

La sortie affichée après l'exécution du script susmentionné est le suivant. Chaque dictionnaire de la liste des dictionnaires Python qui a été créé après avoir converti le contenu des «étudiants.Le fichier yml »dans les membres YAML est converti. Le paramètre par défaut pour le paramètre de clé de tri de la méthode Dump () est vrai. À la lumière des touches, la sortie affiche le contenu YAML trié.1

Exemple # 3: lire les valeurs et les clés de la .fichier yml

Dans cet exemple, nous utilisons les mêmes fichiers précédents (bonjour.Py et étudiants.yml). La fonction élément () est utilisée pour lire les clés et leur valeur connexe après le chargé du contenu du fichier dans la variable de lecture. Les paires de valeurs clés ont été imprimées à l'aide d'une boucle «pour» imbriquée qui a itéré sur l'ensemble du contenu du fichier.

Ce script génère les résultats comme suit:

Après avoir exécuté le script susmentionné, la sortie répertoriée apparaîtra. Le script n'utilise pas la fonction Dump (), donc le contenu du fichier n'a pas été trié.

Exemple n ° 4: lire le .Données de fichiers YML dans la liste des dictionnaires

Le contenu du fichier YAML est transformé en une liste de dictionnaires dans Python à l'aide de la méthode Safe_load (). Les données peuvent également être chargées à partir des sources non fiables en utilisant cette technique. Pour charger le contenu du fichier YAML à l'aide de la méthode Safe_Load () et l'impression du contenu chargé, créez un fichier Python contenant le script suivant:

Le script précédent convertit les données du «.yml »dans une liste de dictionnaires.

Comme vous pouvez le voir, après avoir exécuté le script susmentionné, les données du «.Le fichier yml »(contenant les données des étudiants) est converti en une liste de dictionnaires. Le résultat contient une liste de tous les dictionnaires disponibles.

Conclusion

Cet article a démontré les multiples méthodes pour lire le contenu YAML à partir des fichiers et des objets Python en utilisant les différents exemples. Dans cet article, nous avons discuté des fichiers YAML et des différentes méthodes pour les analyser à l'aide du Safe_load () qui est une fonction intégrée de YAML. Dans les exemples de ce tutoriel, nous avons essayé de vous apprendre à lire et à analyser un «.Fichier YML ", lisant les valeurs et les clés d'un".File YML »et convertissez le«.YML ”File Data dans une liste de dictionnaires à l'aide de la fonction Safe_Load ().