代码之家  ›  专栏  ›  技术社区  ›  Falmarri

python模块布局

  •  14
  • Falmarri  · 技术社区  · 14 年前

    我刚刚开始在python项目中指出,我需要开始使用多个包,我对所有东西到底应该如何协同工作有点困惑。到底该怎么做 __init__.py

    是否有文档或样式指南或其他内容描述了python作者在使用包和 __init__

    编辑:
    我知道拥有 __初始年 从最简单的意义上说,它使文件夹成为包。但是为什么我要在那里放一个函数而不是同一个文件夹(包)中的一个模块呢?

    2 回复  |  直到 14 年前
        1
  •  8
  •   spazm    12 年前

    __init__.py 可以是空的,但它真正做的是确保Python正确地处理您的目录,在导入包时提供您可能需要的任何初始化(配置环境或这些行中的某些内容),或者定义 __all__ 所以当有人使用 from package import * .

    你需要知道的大部分事情都在 docs on Packages Dive Into Python also has a piece on packaging.

        2
  •  1
  •   pyfunc    14 年前

    你已经知道了,我猜Python需要使用init.py文件来将目录视为包含包。

    1. 在上述模型中,init.py可以保持为空。

    2. 您还可以执行包的初始化代码。

    [编辑:学习] 当您执行“from package import item”或“from package import*”时,可以使用变量“all”导入选定的包。

    见: http://docs.python.org/tutorial/modules.html