在Python中__init__.py文件的作用 Python 中如何按键对字典进行排序 在Python如何解析xml文件 在Python中__init__.py文件的作用 如果一个目录中包含这样一个文件,表示这是一个包,而不是一个普通的目录。在最简单的情况下,__init__.py可以只是一个空文件,但它也可以执行包的初始化代码或设置all变量. 例如 mydir/spam/__init__.py mydir/spam/module.py 并且mydir在您的路径上,您可以导入代码module.py为 import spam.module 或者 from spam import module 如果删除该init.py文件,Python将不再查找该目录中的子模块,因此导入模块的尝试将失败。 该init.py文件通常为空,但可用于以更方便的名称导出包的选定部分,保存便利功能等。鉴于上面的示例,init模块的内容可以作为 import spam 除了将目录标记为Python包并定义之外__all__,还__init__.py允许您在包级别定义任何变量。如果包以类似API的方式定义了经常导入的内容,那么这样做通常很方便。这种模式促进了对Pythonic的坚持“扁平比嵌套更好”的理念。 例如 以下是我的一个项目的示例,其中我经常导入一个sessionmaker被调用Session来与我的数据库进行交互。我写了一个带有几个模块的“数据库”包: database/ __init__.py schema.py insertions.py queries.py 我__init__.py包含以下代码: import os from sqlalchemy.orm import sessionmaker from sqlalchemy import create_engine engine = create_engine(os.environ['DATABASE_URL']) Session = sessionmaker(bind=engine) 由于我Session在这里定义,我可以使用下面的语法开始一个新的会话。此代码与“database”包目录内部或外部执行的代码相同。 from database import Session session = Session() 当然,这是一个小便利 - 另一种方法是Session在我的数据库包中定义一个新文件,如“create_session.py”,并使用以下命令启动新会话: from database.create_session import Session session = Session() Python 中如何按键对字典进行排序 在Python如何解析xml文件