sha*_*vey 42 python program-entry-point init
我正试图从其内部访问模块的数据__main__.py.
结构如下:
mymod/
__init__.py
__main__.py
Run Code Online (Sandbox Code Playgroud)
现在,如果我__init__.py像这样公开一个变量:
__all__ = ['foo']
foo = {'bar': 'baz'}
Run Code Online (Sandbox Code Playgroud)
如何访问foo从__main__.py?
小智 23
你需要要么有包已经在sys.path中,添加包含目录mymod,以sys.path中__main__.py,或使用-m开关.
添加mymod到路径将看起来像这样(in __main__.py):
import sys
import os
path = os.path.dirname(sys.modules[__name__].__file__)
path = os.path.join(path, '..')
sys.path.insert(0, path)
from myprog import function_you_referenced_from_init_file
Run Code Online (Sandbox Code Playgroud)
使用-m开关想:
python -m mymod
Run Code Online (Sandbox Code Playgroud)
有关更多讨论,请参阅此答案.
| 归档时间: |
|
| 查看次数: |
12137 次 |
| 最近记录: |