python中文件夹想作为一个模块被引用,则在文件夹内必须要包含 __init__.py 文件,即使此文件为空。
如果此模块想要运行则必须要包含 __main__.py 文件。接下来说下两个文件起到的作用。
拿 robotframework 模块下的文件举例:
__init__.py里面一般包含了需要引用的模块
1 from robot.rebot import rebot, rebot_cli
2 from robot.run import run, run_cli
3 from robot.version import get_version
__all__ 参数意为导出包内模块,以下连接可以参考,不包含在__all__ 列表的模块不可被其他程序引用
此处 __version__ 应为一个系统定义的名字, 可在系统内引用
1 from robot.rebot import rebot, rebot_cli
2 from robot.run import run, run_cli
3 from robot.version import get_version
4
5
6 __all__ = ['run', 'run_cli', 'rebot', 'rebot_cli']
7 __version__ = get_version()
对于 __main__.py 我的理解是一个模块的入口函数执行模块