[Tutor] Problem with "yaml load"
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
> 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)
> 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...
More information about the Tutor