marshal.loads ValueError
Benjamin Niemann
pink at odahoda.de
Wed Jan 31 08:02:33 EST 2007
Hello,
abcd wrote:
> I have the following code which is sent over the wire as a string...
>
> from time import time
> class Foo:
> def go(self):
> print "Time:", time()
>
>
> I get this code and store it as, "data"
>
> data = receivePythonSource()
>
> Then I try...
>
> exec marshal.loads(data) in my_module.__dict__
>
> However I get an error saying:
> ValueError: invalid literal for __float__: om time import time
> class Foo:
> def go(self):
>
> ....almost like when I try to marshal and exec it misses the first two
> characters, "fr" ...any ideas?
marshal is used to (de)serialize python objects from/to strings.
marshal.loads() tries to deserialize an encoded string back into a python
object - which does not make sense here.
What you probably want is:
exec data in my_module.__dict__
HTH
--
Benjamin Niemann
Email: pink at odahoda dot de
WWW: http://pink.odahoda.de/
More information about the Python-list
mailing list