패키지를 확인하려면, 당신은 파이썬으로 변환하는 방법을 이해해야 파일 이름을 모듈 이름으로 변경하십시오.
파일 mymodule.py
은 mymodule
으로 사용할 수 있으며, 인터프리터는 파이썬 검색 경로의 디렉토리에서 해당 파일을 찾습니다. 대소 문자를 구별하지 않는 파일 시스템을 사용하고 있다면 다른 대소 문자를 사용하여 가져올 수도 있습니다 (단, 이러한 시스템 종속적 인 동작은 사용하지 않아야합니다).
패키지는 __init__.py
파일이있는 디렉토리입니다. 최근에 이러한 파일이없는 패키지를 허용하는 움직임이 있었지만이 대답에 대해서는 그다지 일반적인 경우를 무시할 것입니다. 패키지는 파이썬 안에서 모듈이되고 코드는 __init__.py
파일에서 가져옵니다. 따라서 파일 mypackage/__init__.py
은 mypackage
으로 가져올 수 있습니다.
__init__.py
파일에는 Python 검색 경로에 직접 의미가 없습니다 (글쎄, __init__
모듈을 가져올 수 있지만 아마도 좋지 않은 생각입니다).
그래서 상황에, 여기에 적절한 파일 시스템 레이아웃입니다 :
toplevel/
mymodule/
__init__.py # put code here for mymodule
submodule.py # put code here for mymodule.submodule
만 toplevel
폴더가 파이썬 검색 경로에 있어야합니다.
필자는 파이썬 포크가'mymodule/__ init __. py'에 중요한 코드를 넣는 것을 보지 못했습니다. [알렉스 Martelli] (http://stackoverflow.com/a/2361278/188535),이 확률이 될 것으로 보인다. (필자가 필자의 의견에 반드시 동의하지는 않는다 ...) – detly
사실입니다. 보다 대중적인 스타일은'mymodule '에 대한 실제 코드를 문서화되지 않은 서브 모듈에 넣은 다음 공개 API를'__init __. py'로 가져 오는 것입니다. 유익한 답변에 감사드립니다. – Blckknght
파이썬이 분명한 일을하기 위해 더러운 해킹을 필요로하는 것은 유감스러운 일입니다. –