how to pass a dictionary (including chinese characters) through Queue as is?
Jean-Paul Calderone
exarkun at divmod.com
Sat Oct 25 12:45:20 EDT 2008
On Sat, 25 Oct 2008 08:36:22 -0700 (PDT), ouyang <zxo102 at gmail.com> wrote:
>Hi everyone,
> As indicated in the following python script, the dictionary b has
>Chinese characters: "中文". But a.get() returns the dictionary with a
>little bit different format for the "中文“: '\xd6\xd0\xce\xc4' . How
>can I get the dictionary through the Queue as is?
>
>>>> import Queue
>>>> a = Queue.Queue(0)
>>>> b = {'a':'中文','b':1232,'c':'abc'}
>>>> a.put(b)
>>>> c = a.get()
>>>> c
>{'a': '\xd6\xd0\xce\xc4', 'c': 'abc', 'b': 1232}
>
Try printing b before you put it into the Queue.
The Queue isn't doing anything to the objects you pass through it,
you're just surprised at how repr() is presenting the un-altered
data.
Jean-Paul
More information about the Python-list
mailing list