is python 3 better than python 2?
MRAB
python at mrabarnett.plus.com
Wed Apr 6 12:31:08 EDT 2011
On 06/04/2011 07:06, Dan Stromberg wrote:
>
> On Tue, Apr 5, 2011 at 10:04 PM, Terry Reedy <tjreedy at udel.edu
> <mailto:tjreedy at udel.edu>> wrote:
>
> On 4/5/2011 4:42 PM, John Nagle wrote:
>
> Well, actually Unicode support went in back around Python 2.4.
>
>
> Even earlier, I think, but there were and still are problems with
> unicode in 2.x. Some were and will only be fixed in 3.x.
>
>
> In 3.x, ASCII strings went away, but that was more of a removal.
>
>
> Yes and no. They were kept slightly modified as bytes, with all of
> the string methods kept.
>
>
> I suspect not all string methods were kept for the bytes type:
> $ /usr/local/cpython-3.2/bin/python
> cmd started 2011 Tue Apr 05 11:05:08 PM
> Python 3.2 (r32:88445, Feb 20 2011, 16:47:11)
> [GCC 4.4.5] on linux2
> Type "help", "copyright", "credits" or "license" for more information.
> >>> 'a/b/c'.split('/')
> ['a', 'b', 'c']
> >>> b'a/b/c'.split('/')
> Traceback (most recent call last):
> File "<stdin>", line 1, in <module>
> TypeError: Type str doesn't support the buffer API
> >>>
>
You're trying to split bytes with a str (Unicode) argument. Try this:
>>> b'a/b/c'.split(b'/')
[b'a', b'b', b'c']
More information about the Python-list
mailing list