[Python] python e yaml

Francesco Guerrieri f.guerrieri a gmail.com
Sab 17 Nov 2007 17:24:46 CET


On Nov 17, 2007 4:58 PM, Mr. SpOOn <mr.spoon21 a gmail.com> wrote:
> Ho ad esempio un semplice file (file.yaml) simile a questo:
>
> a: 1
> b: 2
>
> Dalla shell di python faccio:
>
> >>> stream = file("file.yaml", "r")
> >>> yaml.load(stream)
> {'a': 1, 'b': 2}
>
> E fin qui, quindi, tutto ok.
> Non mi č chiaro (leggendo varia documentazione di PyYaml non sono
> riuscito a capirlo) come assegnare il documento yaml a un oggetto in
> python.
>
> Ho provato cosė:
>
> >>> d = yaml.load(stream)
>
> In questo modo la variabile "d" dovrebbe diventare un dizionario, ma
> se provo ad accedere a un suo elemento:
>


Ciao,

per prima cosa ti consiglio di usare le versioni safe (safe_load e
safe_load_all) per evitare problemi, a meno che non sia necessario;
per il tuo problema, io ho appena provato a replicarlo e invece sembra
funzionare. Siccome su questa macchina non avevo installato pyyaml,
l'ho scaricato e poi ho fatto letteralmente:

>>> data = """
... a: 1
... b: 2
... """
>>>
>>> yaml.load(data)
{'a': 1, 'b': 2}
>>> d = yaml.load(data)
>>> type(d)
<type 'dict'>
>>> d['a']
1
>>> type(yaml.load(data))
<type 'dict'>

Cosa succede se fai type(yaml.load(data)) ?

ciao,
francesco


Maggiori informazioni sulla lista Python