2
주어진 다음의 두 평 파일 :isinstance 행동
aclass.py
class A(object):
pass
main.py
def importer(klass):
"""
Used to import classes from there python qalname
"""
import_ = lambda m, k: getattr(__import__(m, fromlist=k), k)
klass = klass.split('.')
module = '.'.join(klass[:-1])
klass = klass[-1]
return import_(module, klass)
from aclass import A
import_A = importer('aclass.A')
print isinstance(A(), import_A) # Expected to be true
print isinstance(import_A(), A) # Expected to be true
이 단계에서, 다 잘 (내 프로그램을 작동 True\nTrue
) 그러나 재로드를 적용하기 위해 importer
메서드를 수정하면 다음과 같이됩니다.
이 라인 :
import_ = lambda m, k: getattr(__import__(m, fromlist=k), k)
로 대체된다
내 프로그램은
False
False
을 반환 그리고 나는이 문제를 이해하지 않습니다.
'다른 사람이 프레임 워크를 가리킬 수 있습니다', 다른 사람들이 그런 구현을 가르쳐 주길 바랍니다! – ohe
자세한 내용은 다음을 참조하십시오. http://stackoverflow.com/questions/437589/how-do-i-unload-reload-a-python-module –