내가받은 다음 파일 파이썬 가져 오기 기능 __init__
1 ./run.py
2 ./code/util.py
3 ./code/__init__.py
및 util.py 내부
내가def funA():
print 'Hello World !'
과 내가 가진 평 ./code/ 초기화 내부에있다
__all__=['util'];
from util import *
이제 현재 디렉토리에 python 프롬프트 (실제로는 ipython)가 열립니다. 전자
from code import *
모든 내가있어이 폴더의 유틸리티 모듈
util module <module 'code.util' from 'code/util.pyc'>
내가이 funA를 사용하기 위해 패키지 이름을 포함해야합니다(). funA가 이제는 내 네임 스페이스에있을 것으로 예상되며 패키지 이름 code.funA없이 사용할 수 있습니다. 그러나 이것은 사실이 아니며 문제가있는 곳이 궁금합니다. 나는 init __.py가 정확히 어떻게 사용되어야하는지 아직도 다소 혼란 스럽습니다.
다른 것들 (예 : funA)을 사용하려면 왜 __all__ = [ 'util']'을 지정 했습니까? – BrenBarn
대신 무엇을해야합니까? __all__ = [ 'util']이 필요하지 않습니까? – Jing
'__all__'이 무엇을 오해하는지 생각합니다. 내 대답을 보라. – BrenBarn