diff Lib/inspect.py @ 50784:65c1938fb9ff legacy-trunk

#1162154: inspect.getmembers() now skips attributes that raise AttributeError, e.g. a __slots__ attribute which has not been set.
author Amaury Forgeot d'Arc <amauryfa@gmail.com>
date Tue, 13 Jan 2009 23:39:22 +0000
parents 92ad96544252
children cb290482a1a7
line wrap: on
line diff
--- a/Lib/inspect.py	Tue Jan 13 23:19:08 2009 +0000
+++ b/Lib/inspect.py	Tue Jan 13 23:39:22 2009 +0000
@@ -253,7 +253,10 @@
     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()