다른 모듈에서 가져 와서 사용하는 모듈을 다시로드하는 데 문제가 있습니다. 선명도를 들어, 나는 두 개의 모듈을 가지고있는 예를 살펴 보자다른 모듈로 가져온 모듈을 다시로드하는 방법
첫 번째 모듈 : operation.py
def f(x,y):
return x+y
두 번째 모듈 : test_operation.py
import operation
x=3
y=4
z= operation.f(x,y)
print z
내가 통역으로 이동하는 경우와 쓰기 :
import test_operation
4 개의 문자가 인쇄됩니다 (z = 4). 내가 처음 모듈 operation.py에서 함수 f를 변경하는 경우로 :
def f(x,y):
return x+y+1
다음 내가 인터프리터를 다시로드 (test_operation)에 쓰기, 나는 아직도 4 그것은 것을 다음 보인다 5. 대신 인쇄 얻을 것이다 test_operation.py 모듈을 다시로드하지만 test_operation.py에서 가져온 모듈 인 operational.py를 다시로드하지 않습니다.
어떻게 이러한 문제를 해결할 수 있습니까? 그리고 일반적으로 코드에서 가져온 모든 모듈이 변경 될 때마다 다시 가져 오기 (또는 다시로드)되도록하려면 어떻게해야합니까? 인터프리터에서
'reload (operation)', 그리고'reload (test_operation)'을 사용하십시오. – Uriel
당신은 이미 가져온 모듈을 메모리에 다시로드합니다. 편집을 통해 새 모듈을 만들지 마십시오. –
저는 모듈을 직접 하나씩 다시로드 할 수 있다는 것을 알고 있지만, 모듈을 다시로드하는 더 자동적 인 방법이 있습니다. 모든 가져온 모듈을 재귀 적으로 사용합니까? 깊은 재로드가 있습니까 (예 : 복사본과 전체 복사본이 있습니까?)? –