반응형
모듈에서 모든 클래스를 추출하는 사람들의 많은 예를 보았습니다. 일반적으로 다음과 같습니다.
# foo.py
class Foo:
pass
# test.py
import inspect
import foo
for name, obj in inspect.getmembers(foo):
if inspect.isclass(obj):
print obj
대박.
하지만 current 모듈에서 모든 클래스를 가져 오는 방법을 찾을 수 없습니다.
# foo.py
import inspect
class Foo:
pass
def print_classes():
for name, obj in inspect.getmembers(???): # what do I do here?
if inspect.isclass(obj):
print obj
# test.py
import foo
foo.print_classes()
이것은 아마도 정말 분명한 것이지만 나는 아무것도 찾을 수 없었습니다. 누구든지 나를 도울 수 있습니까?
해결 방법
이 시도:
import sys
current_module = sys.modules[__name__]
귀하의 맥락에서 :
import sys, inspect
def print_classes():
for name, obj in inspect.getmembers(sys.modules[__name__]):
if inspect.isclass(obj):
print(obj)
그리고 더 나은 :
clsmembers = inspect.getmembers(sys.modules[__name__], inspect.isclass)
inspect.getmembers ()
는 술어를 취하기 때문입니다.
참조 페이지 https://stackoverflow.com/questions/1796180
반응형
'파이썬' 카테고리의 다른 글
파이썬 동일한 모듈의 클래스 이름 문자열에서 파이썬 클래스 객체 가져 오기 (0) | 2021.01.11 |
---|---|
파이썬 AttributeError: 'module' object has no attribute 'urlretrieve' (0) | 2021.01.11 |
파이썬에서 배열 가져 오기 (0) | 2021.01.11 |
파이썬 Flask-SQLAlchemy 앱에서 원시 SQL을 실행하는 방법 (0) | 2021.01.11 |
파이썬 동적 페이지를위한 스크래피가있는 셀레늄 (0) | 2021.01.10 |
댓글