我在python包中有一个__main__.py
文件,代码如下:
from __future__ import absolute_import
import sys
if __package__ == '':
import os
path = os.path.dirname(os.path.dirname(__file__))
sys.path.insert(0, path)
import packageName
if __name__ == '__main__':
sys.exit(packageName.main())
我的问题是:
是否需要if __package__ == '':
? PEP 366指出:
当主模块由其文件名指定时,
__package__
属性将设置为无。
根据我的理解,__ main__.py将始终为__name__ == '__main__'
。
因此,也不需要行if __name__ == '__main__':
?
其他一些信息:
包.main()
文件中存在__init__.py
函数。这两个文件都位于名为packageName的文件夹中。该包应该可以从CL或其他任意Python模块调用。