On Mon, Jun 17, 2013 at 5:43 PM, Dave Angel <[email protected]> wrote:
> But in 3.3, it says:
> Help on built-in function close:
>
> close(...)
>
> with no more explanation.
The category "built-in function" here doesn't mean it's in the
builtins namespace. It means it's a function or method from an
extension module (in this case the _io module).
>>> type(sys.stdin.close)
<class 'builtin_function_or_method'>
>>> inspect.isbuiltin(sys.stdin.close)
True
As to the docstring, IOBase.close has a docstring:
>>> print(io.IOBase.close.__doc__)
Flush and close the IO object.
This method has no effect if the file is already closed.
RawIOBase, BufferedIOBase, and TextIOBase inherit this method.
But the close() method for the following concrete implementations is
missing a docstring:
TextIOWrapper
BufferedReader
BufferedWriter
BufferedRandom
BufferedRWPair
TextIOWrapper.close calls textiowrapper_close in Modules/_io/textio.c.
The Buffered* types use buffered_close in Modules/_io/bufferedio.c.
Otherwise the other concrete implementations have docstrings.
Raw FileIO:
>>> print(io.FileIO.close.__doc__)
close() -> None. Close the file.
A closed file cannot be used for further I/O operations. close()
may be called more than once without error. Changes the fileno
to -1.
For example:
>>> (sys.stdin.buffer.raw.close.__doc__ ==
... io.FileIO.close.__doc__)
True
Raw SocketIO:
>>> print(socket.SocketIO.close.__doc__)
Close the SocketIO object. This doesn't close the underlying
socket, except if all references to it have disappeared.
StringIO (in-memory TextIO):
>>> print(io.StringIO.close.__doc__)
Close the IO object. Attempting any further operation after the
object is closed will raise a ValueError.
This method has no effect if the file is already closed.
BytesIO (in-memory BufferedIO):
>>> print(io.BytesIO.close.__doc__)
close() -> None. Disable all I/O operations.
_______________________________________________
Tutor maillist - [email protected]
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor