summaryrefslogtreecommitdiffstats
path: root/Lib/inspect.py
diff options
context:
space:
mode:
authorAmaury Forgeot d'Arc <amauryfa@gmail.com>2009-01-13 23:39:22 (GMT)
committerAmaury Forgeot d'Arc <amauryfa@gmail.com>2009-01-13 23:39:22 (GMT)
commitb54447f31cf8f590ef526d2707f26041720f5784 (patch)
tree9f9ba59ce4f5437662fb9b9d4e9c13e2980fc6cf /Lib/inspect.py
parenta18392a324ba9ee8b267ac9181a67751d8150abc (diff)
downloadcpython-b54447f31cf8f590ef526d2707f26041720f5784.zip
cpython-b54447f31cf8f590ef526d2707f26041720f5784.tar.gz
cpython-b54447f31cf8f590ef526d2707f26041720f5784.tar.bz2
#1162154: inspect.getmembers() now skips attributes that raise AttributeError,
e.g. a __slots__ attribute which has not been set.
Diffstat (limited to 'Lib/inspect.py')
-rw-r--r--Lib/inspect.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/Lib/inspect.py b/Lib/inspect.py
index 1685bfc..8268be1 100644
--- a/Lib/inspect.py
+++ b/Lib/inspect.py
@@ -253,7 +253,10 @@ def getmembers(object, predicate=None):
Optionally, only return members that satisfy a given predicate."""
results = []
for key in dir(object):
- value = getattr(object, key)
+ try:
+ value = getattr(object, key)
+ except AttributeError:
+ continue
if not predicate or predicate(value):
results.append((key, value))
results.sort()