[Python-Dev] unicode_string future, str -> basestring, fix or feature

Antoine Pitrou solipsis at pitrou.net
Sun Mar 2 21:08:51 CET 2014


On Sun, 02 Mar 2014 15:01:01 -0500
Terry Reedy <tjreedy at udel.edu> wrote:
> Suppose a 2.7 standard library function is documented as taking a 
> 'string' argument, such as these examples from the turtle module.
> 
> pencolor(colorstring)
>      Set pencolor to colorstring, which is a Tk color specification 
> string, such as "red", "yellow", or "#33cc8c".
> 
> turtle.shape(name=None)
>      Parameters:	name – a string which is a valid shapename
> 
> class turtle.Shape(type_, data)
>      Parameters:	type_ – one of the strings “polygon”, “image”, “compound”
> 
> Suppose adding
> from __future__ import unicode_literals
> to a working program causes an exception, such as with turtle
> http://bugs.python.org/issue15618
> (Note: unicode_literals is not indexed.)
> 
> Is this a programmer error for passing unicode instead of string, or a 
> library error for not accepting unicode?

In most cases I would say it's a library error.
The only exception is when the argument is clearly meant as a byte
string rather than a text string, such as when writing to a binary file
or a socket.

Regards

Antoine.




More information about the Python-Dev mailing list