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 |