diff options
Diffstat (limited to 'numpy/lib/function_base.py')
-rw-r--r-- | numpy/lib/function_base.py | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/numpy/lib/function_base.py b/numpy/lib/function_base.py index a70f74f60..9176d9950 100644 --- a/numpy/lib/function_base.py +++ b/numpy/lib/function_base.py @@ -3110,15 +3110,14 @@ def add_newdoc(place, obj, doc): that the docstrings were changed. """ try: - new = {} - exec('from %s import %s' % (place, obj), new) + new = getattr(__import__(place, globals(), {}, [obj]), obj) if isinstance(doc, str): - add_docstring(new[obj], doc.strip()) + add_docstring(new, doc.strip()) elif isinstance(doc, tuple): - add_docstring(getattr(new[obj], doc[0]), doc[1].strip()) + add_docstring(getattr(new, doc[0]), doc[1].strip()) elif isinstance(doc, list): for val in doc: - add_docstring(getattr(new[obj], val[0]), val[1].strip()) + add_docstring(getattr(new, val[0]), val[1].strip()) except: pass |