Serhiy Storchaka added the comment:
Following example copies the entire buffer object while copying only smart part
is needed:
m = memoryview(b'x'*10**6)
b'%.100b' % m
I don't know whether this is important use case that is worth an optimization.
The workaround is using slicing rather than truncating in format:
b'%b' % m[:100]
Or in the case of general buffer object:
b'%b' % memoryview(m).cast('B')[:100]
But in that case it is not hard to add an explicit conversion to bytes.
b'%b' % bytes(memoryview(m).cast('B')[:100])
----------
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue28856>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com