2010-07-22 4 views

답변

1

어떤 형식으로 파일을 쓰시겠습니까? 가져온 형식과 정확히 동일한 형식을 원한다면 어렵지 않지만 기본적으로 파일 간 복사로 끝납니다. 예를 들어, 문제의 모듈이 이라면 다음을 수행 할 수 있습니다.

+0

모듈이로드되었지만 해당 모듈의 파일이 삭제 된 경우 모듈을 복사 할 수 있습니까? –

+0

작동하지 않습니까? 'import itertools; itertools를 출력하십시오 .__ file__' gets'AttributeError : 'module'객체에는 '__file__'속성이 없습니다. –

+0

이것은 파일 (소스 또는 바이트 코드)로 존재하는 모듈에서만 작동합니다. 파일이 (동적 라이브러리에 있거나 파이썬의 실행 파일에 링크 된 기계 코드처럼) 존재하지 않았거나 로딩 후에 삭제 된 경우, 파일을 생성 (또는 재생성) 할 방법이 없습니다. 파일을 "처음부터"메모리 내용을 기반으로. –

0

이 같은 것을 의미합니까?

http://www.datamech.com/devan/trypython/trypython.py 

아주 제한된 환경이므로 가능한 것으로 생각하지 않습니다.
__file__ 속성이 위조되는, 그래서 당신은 당신의 모듈 오브젝트에 대한 참조를 얻어서 시작을 얻을 수있는 실제 파일

+0

내 컴퓨터의 콘솔에서 repl을 실행하고 있습니다. 모듈을로드 한 후 모듈의 디렉토리를 삭제했습니다. 물리적 파일없이 모듈의 내용을 복사 할 수있는 방법이 있습니까? –

+0

@Bobby, 아니,이 방법으로 삭제 실수를 복구 할 방법이 없습니다. –

0

에 매핑되지 않습니다

modobject = __import__("modulename") 

불행하게도 사람들은 pickleable 수 없습니다. dir(modobject)을 반복하고 길을 따라 잡는 중 좋은 정보를 얻을 수 있습니다 ... 또는 dir(modobject) 자체의 문자열 표현입니까?

관련 문제