Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python 모듈을 어떻게 언로드(다시 로드)합니까?


reload(moduleName) 함수는 이전에 로드된 모듈을 다시 로드합니다(스크립트를 종료하지 않고 "importmoduleName" 구문으로 로드했다고 가정합니다. 이 모듈은 모듈에 대한 소스 파일을 만들고 Python을 종료하고 다시 시작하지 않고 테스트하려고 합니다. 예:

>>> import mymodule
>>> # Edited mymoduleand want to reload it in this script
>>> reload(mymodule)

moduleName은 이름을 포함하는 문자열이 아니라 모듈의 실제 이름입니다. python 문서에서는 재로드 기능에 대해 다음과 같이 설명합니다.

Python 모듈의 코드가 다시 컴파일되고 모듈 수준 코드가 다시 실행되어 모듈의 사전에 있는 이름에 바인딩된 새 개체 집합을 정의합니다. 확장 모듈의 init 함수는 두 번째로 호출되지 않습니다. 모듈 이름 공간의 이름은 새 개체나 변경된 개체를 가리키도록 업데이트됩니다. 이전 개체에 대한 다른 참조(예:모듈 외부의 이름)는 새 개체를 참조하기 위해 리바인드되지 않으며 원하는 경우 발생하는 각 네임스페이스에서 업데이트되어야 합니다.