__init__.py __main__.py

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__ 應爲一個系統定義的名字, 可在系統內引用

from robot.rebot import rebot, rebot_cli
from robot.run import run, run_cli
from robot.version import get_version


__all__ = ['run', 'run_cli', 'rebot', 'rebot_cli']
__version__ = get_version()

 對於 __main__.py 我的理解是一個模塊的入口函數執行模塊

import sys

# Allows running as a script. __name__ check needed with multiprocessing:
# https://github.com/robotframework/robotframework/issues/1137
if 'robot' not in sys.modules and __name__ == '__main__':
    import pythonpathsetter

from robot import run_cli


run_cli(sys.argv[1:])

當我們執行模塊代碼時首先會加載__init__.py 定義的引入模塊,然後進入__mian__.py 文件運行

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章