diff options
author | seberg <sebastian@sipsolutions.net> | 2013-11-20 12:29:22 -0800 |
---|---|---|
committer | seberg <sebastian@sipsolutions.net> | 2013-11-20 12:29:22 -0800 |
commit | 78e29a323316642899f8ff85e538b785f0d5e31f (patch) | |
tree | fb197f0ea8f205721aa9590d9f0eafffad6aae9c /numpy/lib/function_base.py | |
parent | 9f611dec1ebed4c8c933d5d310ceaf67aedbb8a4 (diff) | |
parent | 66174b8aa5644b11054b72761e89e22fd8a18eae (diff) | |
download | numpy-78e29a323316642899f8ff85e538b785f0d5e31f.tar.gz |
Merge pull request #4064 from juliantaylor/import-speed
ENH: improve add_newdocs performance
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 |