Beginner python 3 unicode question

Luuk luuk at invalid.lan
Sat Nov 16 14:35:58 EST 2013


On 16-11-2013 20:12, Laszlo Nagy wrote:
> Example interactive:
>
> $ python3
> Python 3.3.1 (default, Sep 25 2013, 19:29:01)
> [GCC 4.7.3] on linux
> Type "help", "copyright", "credits" or "license" for more information.
>  >>> import uuid
>  >>> import base64
>  >>> base64.b32encode(uuid.uuid1().bytes)[:-6].lower()
> b'zsz653co6ii6hgjejqhw42ncgy'
>  >>>
>
> But when I put the same thing into a source file I get this:
>
> Traceback (most recent call last):
>    File "/home/gandalf/Python/Lib/shopzeus/yaaf/ui/widget.py", line 94,
> in __init__
>      self.eid = uniqueid()
>    File "/home/gandalf/Python/Lib/shopzeus/yaaf/ui/__init__.py", line
> 34, in uniqueid
>      base64.b32encode(uuid.uuid1().bytes)[:-6].lower()
> TypeError: Can't convert 'bytes' object to str implicitly
>
>
> Why it is behaving differently on the command line? What should I do to
> fix this?
>
>

the error is in one of the lines you did not copy here....

because this works without problems:
<<BEGIN-of script>>
#!/usr/bin/python

import uuid
import base64
print base64.b32encode(uuid.uuid1().bytes)[:-6].lower()
<<END-of script>>

But, i need to say, i'm also a beginner ;)



More information about the Python-list mailing list