This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author MartyMacGyver
Recipients MartyMacGyver, docs@python
Date 2018-04-07.19:22:42
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1523128962.9.0.682650639539.issue33239@psf.upfronthosting.co.za>
In-reply-to
Content
The documentation for the tempfile module in Python 3.x for the `buffering` option is incorrect:

https://docs.python.org/3/library/tempfile.html

TemporaryFile, NamedTemporaryFile, and SpooledTemporaryFile all take the `buffering` option, which in turn appears to correlate to the Python 2.7 option `bufsize`, which was and continues to be an integer (per the source).

In the 3.x documentation the default signature for TemporaryFile, NamedTemporaryFile, and SpooledTemporaryFile includes `buffering=None`. Actually specifying None as a default for this will cause an exception (`TypeError: an integer is required (got type NoneType)`).

There is a cross-reference in the 3.x tempfile docs to `open` (https://docs.python.org/3/library/functions.html#open) which in turn shows the correct signature to use for `buffering`. Additionally, the source code is clearly documented (https://github.com/python/cpython/blob/master/Lib/tempfile.py)

A good correction would be to ensure `buffering=-1` is documented as the default for the three functions in tempfile, with an additional note explicitly stating that -1 == no buffering, and the existing `open` cross-reference retained.
History
Date User Action Args
2018-04-07 19:22:42MartyMacGyversetrecipients: + MartyMacGyver, docs@python
2018-04-07 19:22:42MartyMacGyversetmessageid: <1523128962.9.0.682650639539.issue33239@psf.upfronthosting.co.za>
2018-04-07 19:22:42MartyMacGyverlinkissue33239 messages
2018-04-07 19:22:42MartyMacGyvercreate