将包导入目录中的所有模块
Importing a package into all modules in a directory
将一个包导入多个文件的最规范的方法是什么?是导入一个公共模块然后导入它的最佳方法,还是有办法在 __init__.py?
之类的地方进行
这是我要避免的重复:
file1.py
from typing import NoReturn
...
file2.py
from typing import NoReturn
...
file3.py
from typing import NoReturn
...
几乎没有。 NoReturn
或任何必须从某处导入。
您可以 "inject" 来自 "outside" 的模块的属性,如下所示:
# this is __init__py
from typing import NoReturn
from . import file1
from . import file2
file1.NoReturn = file2.NoReturn = NoReturn
但是:
- 这是一个丑陋的 hack,
- 该属性是导入后添加的,所以用途有限:
即
# this is file1.py
def func() -> NoReturn: # will fail, NoReturn undefined at import time
raise ...
将一个包导入多个文件的最规范的方法是什么?是导入一个公共模块然后导入它的最佳方法,还是有办法在 __init__.py?
之类的地方进行这是我要避免的重复:
file1.py
from typing import NoReturn
...
file2.py
from typing import NoReturn
...
file3.py
from typing import NoReturn
...
几乎没有。 NoReturn
或任何必须从某处导入。
您可以 "inject" 来自 "outside" 的模块的属性,如下所示:
# this is __init__py
from typing import NoReturn
from . import file1
from . import file2
file1.NoReturn = file2.NoReturn = NoReturn
但是:
- 这是一个丑陋的 hack,
- 该属性是导入后添加的,所以用途有限:
即
# this is file1.py
def func() -> NoReturn: # will fail, NoReturn undefined at import time
raise ...