[issue8897] sunau bytes / str TypeError in Py3k
Thomas Jollans
report at bugs.python.org
Fri Jun 4 19:34:55 CEST 2010
New submission from Thomas Jollans <thomas at jollans.com>:
The sunau module, essentially, "doesn't work". This looks like a problem with the bytes/unicode transition of "str" in Python 3.x vs Python 2:
Python 3.1.2 (r312:79147, Apr 15 2010, 15:35:48)
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sunau
>>> aufile = sunau.open('test.au', 'w')
>>> aufile.setsampwidth(2)
>>> aufile.setframerate(44100)
>>> aufile.setnchannels(1)
>>> aufile.writeframes(b'aabbccdd')
Exception wave.Error: Error('# channels not specified',) in <bound method Wave_write.__del__ of <wave.Wave_write object at 0x1fa8ed0>> ignored
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.1/sunau.py", line 393, in writeframes
self.writeframesraw(data)
File "/usr/lib/python3.1/sunau.py", line 383, in writeframesraw
self._ensure_header_written()
File "/usr/lib/python3.1/sunau.py", line 418, in _ensure_header_written
self._write_header()
File "/usr/lib/python3.1/sunau.py", line 452, in _write_header
self._file.write(self._info)
TypeError: must be bytes or buffer, not str
>>>
The wave and aifc modules work as expected when used like this, as does the above code in Python 2.6. Au_read.readframes correctly returns a bytes.
I haven't tested this on a development version of Python.
----------
components: Library (Lib)
messages: 107081
nosy: tjollans
priority: normal
severity: normal
status: open
title: sunau bytes / str TypeError in Py3k
type: behavior
versions: Python 3.1
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue8897>
_______________________________________
More information about the Python-bugs-list
mailing list