2013-04-05 2 views
0

함수 또는 클래스가 아닌 시간의 시작 부분에있는 파일에서 값을 읽는 파이썬 모듈이 있으면 매번 실행됩니까? 또는 pyc 파일은 컴파일 된 파일의 값을 저장하는 값을 읽습니까?python : 파일 읽기 성능 향상?

+0

프리 컴파일 된 파이썬 파일이 무기한으로 유지되기 때문에 (실제로는 해당 소스 코드가 변경 될 때만 재생성되기 때문에)'.pyc' 파일에 파일 내용을 저장하지 않아도됩니다. 파이썬은 파일이 읽혀지기 때문에 파일이 변경되었는지 여부를 알 수있는 방법이 없습니다. –

+0

좋은 지적, 고마워. – chadgh

답변

2

reload을 사용하지 않으면 모듈은 처음으로 프로그램을 가져올 때 한 번만 가져오고 실행됩니다. 동일한 모듈의 추가 가져 오기는 가져 오기가 발생하는 범위의 기존 이름을 바인딩하기 때문에 읽기는 한 번만 수행됩니다.

컴파일 단계에서 파일을 읽고 .pyc에 삽입할지 묻는 경우 아니오를 누릅니다. 컴파일 타임에 코드가 전혀 실행되지 않습니다.

0

예, 모듈을로드 할 때마다 실행됩니다.