New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unification of read() and readline() argument names #61205
Comments
read() and readline() optional parameter which limit the amount of read data has different names in different classes. All this classes mimic (less or more) io classes. Keyword parameter name is a part of method specification. Therefore it will be good made all read() arguments names the same and all readline() arguments names the same (and be consistent with documentation and C implementation). At least we should choose most consistent name for new implementations. If existent C implementation of some method doesn't support keyword argument (all _io classes) or argument names in C and Python implementations are different then we are free to change this name without breaking existing code. For example, read()'s parameter named as: "n" in _pyio, zipfile, and io documentation; readline()'s parameter named as: "limit" in _pyio, zipfile, and io documentation; |
Looks as size is most common parameter name for both read() and readline(). First, we can change the io documentation and _pyio signatures (it shouldn't break anything because _io doesn't support keyword arguments). |
"n" is the best choice IMO. "size" is ok too, although it may be confused with the byte-size of the result. |
Here is a patch which changes name of optional parameter of read(), read1(), peek(), and readline() methods to most common name "size" in the documentation and _pyio module. truncate() in _pyio fixed to conform with documentation. This changes are safe. There is open question about readlines(). It's optional parameter named as: "hint" in _pyio and the documentation; |
Unfortunately most stdlib modules vote for "size". |
Are there any objections to the patch? |
New changeset 46c1c2b34e2b by Serhiy Storchaka in branch 'default': |
Is there anything left for this bug or could it be closed? I can confirm my v3.4.2 docs say “size” instead of “n” :) |
readlines() parameter name is not unified still (it can be "hint", "size", "sizehint"). There is no obvious winner. |
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: