[Python-Dev] Adding bytes.frombuffer() constructor to PEP 467 (was: [Python-ideas] Adding bytes.frombuffer() constructor (original) (raw)

INADA Naoki songofacandy at gmail.com
Wed Oct 12 05:42:04 EDT 2016


On Wed, Oct 12, 2016 at 2:32 PM, Serhiy Storchaka <storchaka at gmail.com> wrote:

On 12.10.16 07:08, INADA Naoki wrote:

Sample code: def readline(buf: bytearray) -> bytes: try: n = buf.index(b'\r\n') except ValueError: return b'' line = bytes(buf)[:n] # bytearray -> bytes -> bytes Wouldn't be more correct to write this as bytes(buf[:n])?

Yes, you're right! I shouldn't copy whole data only for cast from bytearray to byte.

Adding one more constructor to bytes:

# when length=-1 (default), use until end of byteslike. bytes.frombuffer(byteslike, length=-1, offset=0) This interface looks unusual. Would not be better to support the interface of buffer in Python 2: buffer(object [, offset[, size]])?

It looks better.

(Actually speaking, I love deprecated old buffer for simplicity. memoryview supports non bytes-like complex data types.)

Thanks,

-- INADA Naoki <songofacandy at gmail.com>



More information about the Python-Dev mailing list