[Tutor] Problem with "yaml load"

Wayne Werner waynejwerner at gmail.com
Mon Dec 13 18:43:31 CET 2010

On Mon, Dec 13, 2010 at 11:08 AM, Sean Carolan <scarolan at gmail.com> wrote:

> Hi folks:
> I'm trying to define a short function that will import yaml data into
> a python dictionary.  I am able to do this by dumping my data into a
> temporary file and then importing it with yaml.load.  I would like to
> see if I can eliminate the temporary file and import the data
> directly.
> This works fine:
> import yaml
> import os
> def grabfacts():
>    ''' This function grabs facter data and sucks it into a dictionary
>    called dataMap '''
>    os.system('facter --yaml > /tmp/sysdata.yaml')
>    f = open('/tmp/sysdata.yaml')
>    dataMap = yaml.load(f)
>    f.close()
> Is there an easy way to do this without writing to a temporary file?

Presumably you could use something like subprocess and simply pipe stdout to
your program. I presume facter --yaml will produce output to stdout? It's
fairly trivial to read stdout using subprocess.


that should get you started.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20101213/b1f06a80/attachment.html>

More information about the Tutor mailing list