반응형
질문
모듈을 다시 가져오는 방법은 어떻게 되나요? .py 파일을 수정한 후 모듈을 다시 가져오고 싶습니다.
답변
Python 3.4+의 경우:
import importlib
importlib.reload(nameOfModule)
Python < 3.4의 경우:
reload(my.module)
Python 문서에서 가져왔습니다.
이전에 가져온 모듈을 다시 불러옵니다. 인수는 모듈 객체여야 하므로 이전에 성공적으로 가져와야 합니다. 이 기능은 모듈 소스 파일을 외부 편집기를 사용하여 편집한 후 Python 인터프리터를 종료하지 않고 새 버전을 시도하려는 경우 유용합니다.
이 방법을 사용할 때 유의해야 할 사항을 잊지 마세요:
모듈을 다시 불러올 때 모듈의 사전(모듈의 전역 변수를 포함하는)은 유지됩니다. 이름의 재정의는 이전 정의를 덮어씁니다. 따라서 일반적으로 문제가 되지 않지만, 새 버전의 모듈이 이전 버전에서 정의된 이름을 정의하지 않는 경우 이전 정의는 제거되지 않습니다.
모듈이
from ... import ...
을 사용하여 다른 모듈에서 객체를 가져오는 경우, 다른 모듈에 대해reload()
를 호출하여 가져온 객체를 재정의하지 않습니다. 이를 해결하기 위한 한 가지 방법은from
문을 다시 실행하는 것이고, 또 다른 방법은import
및 정규화된 이름(module.*name*
)을 사용하는 것입니다.모듈이 클래스의 인스턴스를 생성하는 경우, 클래스를 정의하는 모듈을 다시 불러오더라도 인스턴스의 메서드 정의에는 영향을 주지 않습니다. 인스턴스는 이전 클래스 정의를 계속 사용합니다. 파생 클래스에도 동일한 내용이 적용됩니다.
반응형
댓글