[Python-Dev] Adding bytes.frombuffer() constructor to PEP 467
Yury Selivanov
yselivanov.ml at gmail.com
Thu Jan 5 20:28:26 EST 2017
More information about the Python-Dev mailing list
Thu Jan 5 20:28:26 EST 2017
- Previous message (by thread): [Python-Dev] Adding bytes.frombuffer() constructor to PEP 467
- Next message (by thread): [Python-Dev] Adding bytes.frombuffer() constructor to PEP 467
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 2017-01-05 7:11 PM, INADA Naoki wrote: >> bytes.frombuffer(x) is bytes(memoryview(x)) or memoryview(x).tobytes(). >> > There is pitfall: memoryview should be closed. > So b = bytes.frombuffer(x) is: > > with memoryview(x) as m: > b = bytes(m) > # or b = m.tobytes() Thinking more about this, and after looking at my own code in asyncpg and uvloop, I'm now in favor of adding bytes.frombuffer() with the proposed signature: ``bytes.frombuffer(byteslike, length=-1, offset=0)`` Inada-san is right, the memoryview should be explicitly released, but few do that. Instead, a lot of people simply rely on CPython refcounting semantics, which will cause the temporary memoryview be GCed asap. That won't work so flawlessly in PyPy and will cause hard to understand bugs. Yury
- Previous message (by thread): [Python-Dev] Adding bytes.frombuffer() constructor to PEP 467
- Next message (by thread): [Python-Dev] Adding bytes.frombuffer() constructor to PEP 467
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-Dev mailing list