2014-07-07 2 views
2

.NET 4.0.30319.18444에서 IronPython 2.7.0.40으로 일부 코드 작업을하고 있습니다. IronPython 콘솔에있는 동안 모듈을 변경하면 영향을받지 않습니다 (닫지 않고 새 콘솔을 열고 올바른 디렉토리로 다시 전환 한 다음 모듈을 다시로드하지 않는 한). IronPython에서 변경 사항을 볼 수있는 방법이 있습니까? "정상적인"파이썬에서 자동으로 모듈을 다시로드하고 소스에 대한 최근 변경 사항을 볼 수있는 "runfile"을 사용 하겠지만 IronPython에서는 사용할 수없는 것처럼 보입니다. 그래서 초기 버전의 my를 계속 사용하는 execfile()을 사용하고 있습니다. 모듈, 변경 사항 무시.IronPython reloading modules (UMD, runfile)

답변

2

이 작업을 수행하는 "다시로드"기능이 있습니다. 유감스럽게도 변경된 각 모듈에 대해 수동으로 호출해야합니다.

>>> reload(Module1) 
>>> reload(Module2) 
... 
+0

+1 동일한 문제가 있었지만이 문제를 해결할 때 답변으로 표시해야합니다. 한 발언 : 저는 콘솔을 사용하는 것이 아니라 파이썬을 임베드하는 것입니다. 스크립트를 다시로드하려면 reload (mod)를 호출하기 전에 범위를 삭제해야합니다. 다시 scrope로 모드를 가져 오기 위해 다시 가져 오기 (mod)해야했습니다. 나중에 참조하기 위해 나는'foreach (var mod in py.GetModuleFilenames()) {py.Execute (String.Format ("import {0}; reload ({0})", mod), scope) 코드를 사용했다. }' – stijn