Added descriptor for builtins.open.__doc__
Before the change help(open) didn't return anything helpful but the doc string of io.OpenWrapper. Now it shows the user the documentation of io.open.
diff --git a/Lib/io.py b/Lib/io.py
index 5066c49..05ea94b 100644
--- a/Lib/io.py
+++ b/Lib/io.py
@@ -189,6 +189,14 @@
text.mode = mode
return text
+class _DocDescriptor:
+ """Helper for builtins.open.__doc__
+ """
+ def __get__(self, obj, typ):
+ return (
+ "open(file, mode='r', buffering=None, encoding=None, "
+ "errors=None, newline=None, closefd=True)\n\n" +
+ open.__doc__)
class OpenWrapper:
"""Wrapper for builtins.open
@@ -198,6 +206,8 @@
See initstdio() in Python/pythonrun.c.
"""
+ __doc__ = _DocDescriptor()
+
def __new__(cls, *args, **kwargs):
return open(*args, **kwargs)