[Python-3000] bytearray incompatible with bytes
Guido van Rossum
guido at python.org
Fri Aug 29 18:20:16 CEST 2008
2008/8/29 Pyry Pakkanen <pyry.pakkanen at gmail.com>:
> Hello list! First post.
> I ran in to this problem with ossaudiodev module when trying to copy
> the input audio to output:
> import ossaudiodev
> dev = ossaudiodev.open("rw")
> for i in range(1000): #Copy audio from input to output for a few seconds
> It runs fine in 2.5 but in 3.0b3 it gives the following exception:
> Traceback (most recent call last):
> File "myscripts/ossthrough.py", line 5, in <module>
> TypeError: write() argument 1 must be bytes or read-only buffer, not bytearray
> This looks like a bug. I thought bytearray is a read-only buffer.
> Looking at the ossaudiodev.c source it seems that
> PyArg_ParseTuple(args, "y#:write", &cp, &size) doesn't accept
There are two separate bugs here: it's true that dev.write() should
accept a bytearray instance, but dev.read() should have returned
And yes, Aahz is right, please take a minute to register with
bugs.python.org and file a bug.
--Guido van Rossum (home page: http://www.python.org/~guido/)
More information about the Python-3000