Come leggere il file Yaml in Python

Come leggere il file Yaml in Python

La forma completa di Yaml è ancora un'altra lingua di mark-up. Questo formato di file è molto popolare ora per archiviare dati serializzati che sono leggibili dall'uomo. Viene utilizzato principalmente per i file di configurazione, ma può essere utilizzato anche per altri scopi. Diversi tipi di dati scalari come numero, stringa, ecc., e dati composti come l'elenco, il dizionario può essere il contenuto di questo file. L'estensione di questo FIE è '.yaml '. Esistono più moduli in Python per leggere il file Yaml. L'uso del Pyyaml Il modulo da leggere il file Yaml in Python ha mostrato in questo tutorial.

Prerequisiti:

Installa il modulo Pyyaml

Pyyaml è il miglior modulo di Python per leggere il Yaml file. Pyyaml Il modulo non è installato con Python per impostazione predefinita. Quindi, devi installare questo pacchetto prima di controllare gli esempi di questo tutorial. Esegui il seguente comando da installare Pyyaml.

$ pip Installa Pyyaml

Crea un file yaml

Crea un file yaml chiamato cliente.Yaml Con il seguente contenuto per utilizzare questo file nella parte successiva di questo tutorial.

cliente.Yaml

- Nome: Kamal Hossain
Email: [email protected]
Mobile: 01843456790
- Nome: Sakil Ahamed
Email: [email protected]
Mobile: 015662343423
- Nome: Mizanur Rahman
Email: [email protected]
Mobile: 01936784534

Esempio-1: leggi il contenuto di Yaml dopo aver convertito un oggetto Python

Dopo aver installato il Pacchetto pyyaml, Il modulo YAML può essere importato nello script Python per leggere Yaml contenuto convertendo un oggetto Python. IL Dump () funzione del Yaml Il modulo viene utilizzato per creare il Yaml Contenuto mediando il contenuto dell'oggetto Python. Crea un file Python con il seguente script per generare e stampare il flusso YAML convertendo il contenuto dell'oggetto Python. IL Dump () funzione Ordina il contenuto del dizionario in base alle chiavi per impostazione predefinita.

# Importa il modulo YAML
Importa yaml
# Dichiara un oggetto Python con i dati
libri = ['name': 'Think Python: An Introduction to Software Design', 'Autore': 'Allen B. Downey ',' Price ':' 23 ',
'Nome': 'Fluent Python: programmazione chiara, concisa ed efficace',
'Autore': 'Luciano Ramalho', 'Price': '50',
'Nome': 'Pensa a Python: un'introduzione al design del software',
'Autore': 'Allen B. Downey ',' Price ':' 33 '
"
# Converti e stampa i dati JSON in YAML Stream
Stampa (Yaml.Dump (libri))

Produzione:

Verrà visualizzato il seguente output dopo aver eseguito lo script sopra. Gli articoli di ogni dizionario dell'elenco Python si sono convertiti in ciascun membro del contenuto YAML. Il contenuto dell'output è stato ordinato in base alle chiavi del dizionario. Per questo, il valore della chiave dell'autore è stato stampato per primo e il valore della chiave di prezzo è stato stampato per ultimo.

Esempio-2: leggi il contenuto YAML da un file YAML

IL cliente.file yaml Creato nella parte precedente di questo tutorial è stato utilizzato in questo esempio. Crea un file Python con il seguente script per leggere il contenuto ordinato di cliente.file yaml Basato sui tasti. IL carico () funzione ha usato nello script per leggere il contenuto completo del cliente.file yaml. Questa funzione restituirà il contenuto del file come elenco di dizionari Python. Successivamente, il Dump () funzione viene utilizzato per convertire l'elenco in un flusso di yaml che è stato stampato in seguito.

# Importa il modulo YAML
Importa yaml
# Carica i dati YAML dal file
con Open ('Client.yaml ') come fh:
read_data = yaml.carico (fh, caricatore = yaml.Fullloader)
# Stampa i dati YAML prima dell'ordinamento
Stampa (read_data)
# Ordina i dati YAML in base alle chiavi
Sorted_data = Yaml.dump (read_data)
# Stampa i dati YAML dopo l'ordinamento
Stampa (Sorted_data)

Produzione:

Verrà visualizzato il seguente output dopo aver eseguito lo script sopra. Dopo aver convertito il contenuto del cliente.file yaml In un elenco di dizionari di Python, ogni dizionario dell'elenco di Python si è convertito in ciascun membro del contenuto YAML come l'esempio precedente. Il valore del parametro sort_key del Dump () funzione è impostato per VERO Per impostazione predefinita. Quindi, l'output mostra l'ordinato Yaml Contenuto in base alle chiavi.

Esempio-3: leggi le chiavi e i valori da un file YAML

Crea un file Python con il seguente script per leggere e stampare la chiave e il valore separatamente dal cliente.file yaml. Dopo aver caricato il contenuto del file in Variabile Read_data, IL articolo() La funzione ha usato per leggere ciascuna chiave e il valore corrispondente dal contenuto. Il nidificato 'per'Loop ha usato per iterare l'intero contenuto del file e stampare le coppie di valore chiave.

# Importa il modulo YAML
Importa yaml
# Carica il file yaml
con Open ('Client.yaml ') come fh:
# Carica i dati YAML dal file
read_data = yaml.carico (fh, caricatore = yaml.Fullloader)
# Itera il ciclo per leggere e stampare i dati YAML
per i in gamma (0, len (read_data)):
per chiave, valore in read_data [i].elementi():
Stampa (chiave ":", valore)
stampa(")

Produzione:

Verrà visualizzato il seguente output dopo aver eseguito lo script sopra. Il contenuto del file non è stato ordinato perché la funzione dump () non è stata utilizzata nello script.

Esempio-4: leggi il contenuto di Yaml in un elenco di dizionari

IL funzione safe_load () viene utilizzato per convertire il contenuto del file Yaml nell'elenco Python dei dizionari. Questa funzione può essere utilizzata per caricare anche i dati da fonti non attendibili. Crea un file Python con il seguente script per caricare il contenuto di un file YAML utilizzando il funzione safe_load () e stampare il contenuto caricato.

# Importa il modulo YAML
Importa yaml
# Carica il file yaml
con Open ('Client.yaml ') come fh:
# Converti i dati YAML in un dizionario
dizionario_data = yaml.Safe_load (FH)
# Stampa i dati del dizionario
Stampa (dizionario_data)

Produzione:

Verrà visualizzato il seguente output dopo aver eseguito lo script sopra. Un elenco di dizionari è stato stampato nell'output.

Conclusione:

I modi per leggere Yaml Il contenuto da un oggetto Python e un file sono stati mostrati in questo tutorial utilizzando vari esempi. Il concetto di analisi del Yaml file usando il Pacchetto pyyaml sarà cancellato per gli utenti di Python dopo aver praticato gli esempi di questo tutorial.