다음과 같은 Python 2.x module.py
파일이 있습니다.파이썬 : 단일 모듈 파일에서 전역 클래스 검색
class A(object):
KEYWORD = 'Class A'
class B(A):
KEYWORD = 'Class B'
class C(object):
pass
def list_class_keywords():
for name in globals():
print name, hasattr(name, 'KEYWORD')
if __name__ == '__main__':
list_class_keywords()
list_class_keywords()
list_class_keywords()
에서이 파일 모듈의 모든 객체를 반복하고 객체에
KEYWORD
속성이 있는지 테스트합니다.
name
은 문자열이므로 분명히 작동하지 않습니다.
list_classes
을 어떻게 재 작성하여 내가 원하는 것을 얻을 수 있습니까?
업데이트 : 힌트 : Ignacio에게 감사드립니다. 다음은 업데이트 된 코드입니다.
def list_class_keywords():
global_dict = globals()
for name in global_dict:
obj = global_dict[name]
print name, hasattr(obj, 'KEYWORD')