[Python-Dev] transform() and untransform() methods, and the codec registry

Alexander Belopolsky alexander.belopolsky at gmail.com
Thu Dec 9 19:55:08 CET 2010


On Thu, Dec 9, 2010 at 1:42 PM, Guido van Rossum <guido at python.org> wrote:
..
> string-string transforms use the same namespace even though the
> typical transform only supports one or the other. E.g. IMO all of the
> following should raise LookupError:
>
>>>> b'abc'.transform('rot13')
> Traceback (most recent call last):
> ..
>    return (input.translate(rot13_map), len(input))
> TypeError: expected an object with the buffer interface

This is actually *very* misleading because

>>> 'abc'.transform('rot13')
'nop'

works even though 'abc' is not "an object with the buffer interface".


>>> memoryview('abc')
Traceback (most recent call last):
  ..
TypeError: cannot make memory view because object does not have the
buffer interface


More information about the Python-Dev mailing list