Re: less verbose Python lib
Daniel Goertzen <[email protected]>
| Newsgroups | gmane.text.yaml.general |
|---|---|
| Message-ID | <CAJCf5RztkKu_BtT8_x8vj=j87mD_bgKgnizCZdty55BEyOijKQ@mail.gmail.com> |
Sorry, this is a red herring, a generator is not going to work. I just ran
a quick test...
>>> import yaml
>>> import time
>>> def g():
... for i in range(10):
... time.sleep(1)
... yield i
...
>>>
>>> yaml.dump(g())
'!!python/object:builtins.generator {}\n'
>>> list(g())
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
On Tue, Jun 12, 2012 at 4:43 PM, Nico Schlömer <[email protected]>wrote:
> It's not the storage requirements of the list that are inconvenient
> but the fact that I'd have to wait for too long: I want to have the
> output as soon as it's available.
> Is this a situation where a generator could be helpful? (I have no
> experience with those.)
>
>
>
> On Tue, Jun 12, 2012 at 11:18 PM, Daniel Goertzen
> <[email protected]> wrote:
> > Perhaps implement your items as a generator instead of building the whole
> > list ahead of time.
> >
> > Dan.
> >
> >
> > On Tue, Jun 12, 2012 at 4:01 PM, Nico Schlömer <[email protected]
> >
> > wrote:
> >>
> >> Compiling the list is difficult for me as the items take a long time
> >> to be computed (the emitter is supposed to be part of a numerical
> >> code), so I wouldn't want to have to wait for the last item to arrive
> >> until they're printed all together.
> >>
> >>
> >>
> >> On Tue, Jun 12, 2012 at 10:52 PM, Dennis Lissov <
> [email protected]>
> >> wrote:
> >> > Hello Nico,
> >> >
> >> > in Python YAML is typically mapped directly to the trees of objects.
> >> > The YAML sequence is mapped to the Python list, so using
> >> >
> >> > yaml.dump(['eggs', 'bread', 'milk'], default_flow_style=False)
> >> >
> >> > and if the equivalent output of '[eggs, bread, milk]' is acceptable,
> >> > the keyword argument may also be omitted. Unless you need to
> >> > explicitly deal with the representation and serialization steps, it's
> >> > the easiest way to deal with YAML in Python.
> >> >
> >> > Good luck,
> >> > Dennis.
> >> >
> >> > On Tue, Jun 12, 2012 at 11:39 PM, Nico Schlömer
> >> > <[email protected]> wrote:
> >> >> Hi all,
> >> >>
> >> >> in C++, typical YAML usage looks like
> >> >>
> >> >> ============ *snip* ============
> >> >> YAML::Emitter out;
> >> >> out << YAML::BeginSeq;
> >> >> out << "eggs";
> >> >> out << "bread";
> >> >> out << "milk";
> >> >> out << YAML::EndSeq;
> >> >> ============ *snap* ============
> >> >>
> >> >> while the same thing in Python is (as far as I know)
> >> >> ============ *snip* ============
> >> >> print yaml.emit([yaml.StreamStartEvent(),
> >> >> yaml.DocumentStartEvent(),
> >> >> yaml.SequenceStartEvent(anchor=None, tag=None,
> >> >> implicit=True),
> >> >> yaml.ScalarEvent(anchor=None, tag=None,
> >> >> implicit=(True, False), value=u'eggs'),
> >> >> yaml.ScalarEvent(anchor=None, tag=None,
> >> >> implicit=(True, False), value=u'bread'),
> >> >> yaml.ScalarEvent(anchor=None, tag=None,
> >> >> implicit=(True, False), value=u'milk'),
> >> >> yaml.SequenceEndEvent()
> >> >> ])
> >> >> ============ *snap* ============
> >> >>
> >> >> Is there any way to make this less verbose? (I don't even know why I
> >> >> need all these options.)
> >> >>
> >> >> Cheers,
> >> >> Nico
> >> >>
> >> >>
> >> >>
> ------------------------------------------------------------------------------
> >> >> Live Security Virtual Conference
> >> >> Exclusive live event will cover all the ways today's security and
> >> >> threat landscape has changed and how IT managers can respond.
> >> >> Discussions
> >> >> will include endpoint security, mobile security and the latest in
> >> >> malware
> >> >> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> >> >> _______________________________________________
> >> >> Yaml-core mailing list
> >> >> [email protected]
> >> >> https://lists.sourceforge.net/lists/listinfo/yaml-core
> >>
> >>
> >>
> ------------------------------------------------------------------------------
> >> Live Security Virtual Conference
> >> Exclusive live event will cover all the ways today's security and
> >> threat landscape has changed and how IT managers can respond.
> Discussions
> >> will include endpoint security, mobile security and the latest in
> malware
> >> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> >> _______________________________________________
> >> Yaml-core mailing list
> >> [email protected]
> >> https://lists.sourceforge.net/lists/listinfo/yaml-core
> >
> >
>
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Yaml-core mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/yaml-core