728x90
반응형
질문 : 대화 형 동안 Python에서 모듈 다시 가져 오기
할 수 있다는 건 알지만 방법은 기억 나지 않습니다.
파이썬에서 모듈을 어떻게 다시 가져올 수 있습니까? 시나리오는 다음과 같습니다. 모듈을 대화식으로 가져 와서 수정했지만 오류가 발생합니다. .py 파일의 오류를 수정 한 다음 파이썬을 종료하지 않고 수정 된 모듈을 다시 가져오고 싶습니다. 내가 어떻게 해 ?
답변
이것은 작동합니다 ( Python <3.4 ) :
reload(my.module)
이전에 가져온 모듈을 다시로드합니다. 인수는 모듈 객체 여야하므로 이전에 성공적으로 가져 왔어 야합니다. 이것은 외부 편집기를 사용하여 모듈 소스 파일을 편집하고 Python 인터프리터를 떠나지 않고 새 버전을 사용해보고자 할 때 유용합니다.
Python 3.4 이상을 실행하는 경우 import importlib
를 수행 한 다음 importlib.reload(nameOfModule)
.
이 방법 사용시주의 사항을 잊지 마십시오.
- 모듈이 다시로드되면 해당 사전 (모듈의 전역 변수 포함)이 유지됩니다. 이름 재정의는 이전 정의를 재정의하므로 일반적으로 문제가되지 않지만 모듈의 새 버전이 이전 버전에서 정의한 이름을 정의하지 않으면 이전 정의가 제거되지 않습니다.
from ... import ...
사용하여 다른 모듈에서 객체를 가져 오는 경우 다른 모듈에 대해reload()
를 호출해도 해당 모듈에서 가져온 객체가 재정의되지 않습니다. 한 가지 방법은from
문을 다시 실행하는 것입니다.import
및 정규화 된 이름 (module.*name*
)을 사용합니다.- 모듈이 클래스의 인스턴스를 인스턴스화하는 경우 클래스를 정의하는 모듈을 다시로드해도 인스턴스의 메서드 정의에 영향을주지 않으며 이전 클래스 정의를 계속 사용합니다. 파생 클래스도 마찬가지입니다.
출처 : https://stackoverflow.com/questions/1254370/reimport-a-module-in-python-while-interactive
728x90
반응형
'프로그래밍 언어 > Python' 카테고리의 다른 글
딕셔너리를 위한 파이썬 "extend" (0) | 2021.12.01 |
---|---|
여러 버전의 Python에서 pip 잘 사용할 수 있는 방법 (0) | 2021.12.01 |
requests와 함께 파이썬으로 큰 파일 다운로드 (0) | 2021.12.01 |
Python에서 디렉토리의 zip 아카이브를 만드는 방법 (0) | 2021.11.30 |
파이썬에서 긴 줄을 여러 줄로 나누는 방법 (0) | 2021.11.30 |