New submission from Nikolaus Rath:
The os.writev and os.readv functions are currently documented as:
os.writev(fd, buffers)
Write the contents of buffers to file descriptor fd, where buffers is an
arbitrary sequence of buffers. Returns the total number of bytes written.
os.readv(fd, buffers)
Read from a file descriptor into a number of writable buffers. buffers is
an arbitrary sequence of writable buffers. Returns the total number of bytes
read.
This is rather confusing, mostly because it's not clear what can be passed as
*buffer* (since buffer objects don't exist in Python 3 anymore), and (as a
consequence) how the input will be distributed among the list of buffers.
Reading the code, it seems to me that any object that implements the buffer
protocol would be fine, but that still doesn't help much in practice. From the
memoryview documentation, I can infer that `bytes` implements the buffer
protocol, but is also immutable, so how can something be written into it?
I'd be happy to write a patch to the documentation, but someone would need to
explain to me first what kind of buffers are actually acceptable (and I suspect
this will be different for readv and writev).
----------
assignee: docs@python
components: Documentation
messages: 187526
nosy: Nikratio, docs@python
priority: normal
severity: normal
status: open
title: Improve os.readv() and os.writev() documentation and docstring
type: enhancement
versions: Python 3.3, Python 3.4, Python 3.5
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue17811>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com