2014-02-07 1 views
1

파이썬에서 다음을 수행 할 수 있습니까?파이썬에서 모듈을 가져 와서 삭제할 수 있습니까? 그렇지만 여전히 프로그램 내에서 사용할 수 있습니까?

의사 코드 :

<code to extract contents from a password-protected .zip file (includes module)> 
<path to module> 
import module 
reload(module) 
<delete extracted contents, including the imported module> 
<program code (within it, use reload(module) to use the module)> 

이것의 목적은 기본적으로 사용자에게 모듈이 "보이지 않는"하는 것입니다. 나는 사용자가 정말로 그것을 원한다면, 그는 할 수 있다고 생각하지만, 이것은 단지 억지력이다. 나는 이것이 전혀 바람직하지 않을 수도 있음을 알고 있지만 가능합니까?

감사합니다.

답변

3

그것은에 의해 경우, 작동 할 수 있습니다 당신이 .py 파일을 의미하는 "내용을하는 모듈을 포함,"첫 번째 import module는 (이 정상적으로는하지만, 예를 들어 읽기 전용 파일 시스템을 중지 할 수 있음) module.pyc 파일을 생성 할 수 있습니다. 해당 .pyc 파일을 삭제하지 않으면 reload(module)을로드 할 수 있습니다.

나중에 포함 경로에 다른 module.py이있는 경우 한 곳에서 파일을 삭제하면 reload이 다른 곳에서로드됩니다.

module과 관련된 모든 파일을 경로에서 삭제하면 다시로드 할 수 없습니다. 재로드가 의미하는 것이 "포함 경로에서로드하십시오."때문입니다.

관련 문제