On Mon, Jun 17, 2013 at 5:43 PM, Dave Angel <da...@davea.name> 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 - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor