Analizza un file YAML in Python
![Analizza un file YAML in Python](/img/Python/feature-image---python-parse-yaml.webp)
Questo tutorial mostrerà diversi modi per analizzare un file YAML in Python.
YAML è uno standard di serializzazione dei dati utilizzato come tipo di file per memorizzare i file di configurazione o delle proprietà all’interno di un progetto. YAML spesso sostituisce i tipici file di configurazione XML o JSON perché i file sono più facili da serializzare rispetto a entrambi i tipi di file.
Usa il pacchetto PyYAML
per analizzare YAML in Python
pyyaml
è un pacchetto Python che fornisce utilità per analizzare e manipolare i file YAML all’interno di Python.
Il primo passo da fare è installare pyyaml
usando pip
poiché non è immediatamente disponibile per Python.
pip install pyyaml
Per gli utenti di Python 3.x, usa pip3
invece di pip
.
pip3 install pyyaml
A questo punto l’installazione è terminata, procedere con l’analisi di un file YAML di esempio. Un file YAML avrà sempre tre trattini ---
all’inizio del file per denotare l’inizio di un nuovo documento YAML.
Nota che gli spazi dovrebbero essere usati esclusivamente quando si indentano i file YAML poiché questi file non riconosceranno gli spazi di tabulazione come rientri.
I file YAML possono avere un’estensione di .yaml
o .yml
.
sample.yaml
---
name: "John"
age: 23
isMale: true
hobbies:
- swimming
- fishing
- diving
Per leggere il file YAML in Python, importa prima il modulo yaml
. Successivamente, apri il file yaml usando la funzione open()
. Il modulo yaml
ha una funzione predefinita load()
, che accetta un file come argomento, carica un file YAML in Python e lo converte in un tipo di dati oggetto Python.
import yaml
with open("sample.yaml", "r") as f:
print(yaml.load(f))
Se si stampa l’output di yaml.load()
, verrà visualizzato il contenuto del file YAML in un formato oggetto Python.
Produzione:
{'name': 'John', 'age': 23, 'isMale': True, 'hobbies': ['swimming', 'fishing', 'diving']}
Per assicurarci che il file YAML esista e non sia danneggiato, sicuro da usare, possiamo aggiungere un blocco try
e catturare l’eccezione utilizzando l’oggetto di errore incorporato nel modulo yaml
YAMLError
. Un altro livello per rendere il codice più sicuro da usare è sostituire la funzione load()
con safe_load()
, che convalida il file YAML prima di caricarlo.
import yaml
with open("sample.yaml", "r") as stream:
try:
print(yaml.safe_load(stream))
except yaml.YAMLError as exc:
print(exc)
Questa soluzione ha lo stesso risultato della soluzione precedente, sebbene questo sia un approccio molto più sicuro per analizzare un file YAML in Python.
In sintesi, l’analisi di un file YAML in Python è facilmente realizzabile utilizzando il modulo yaml
. Assicurati di eseguire pip install pyyaml
prima di usare il modulo poiché non è facilmente integrato.
È sempre buona norma incapsulare le funzioni di manipolazione dei file con blocchi try...except
per assicurarsi che la manipolazione dei file avvenga senza intoppi e sia sicura da eseguire.
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