我的包是这样的:
这些助手,因为它们都在处理 scipy
,所以都有共同的导入:
from matplotlib import pyplot as plt
import numpy as np
我想知道是否可以将它们提取出来并放在其他地方,这样我就可以减少每个模块中的重复代码?
最佳答案
您可以创建一个名为 my_imports.py
的文件,该文件执行所有导入并通过 __all__
变量将它们作为 *
提供(注意模块名称声明为字符串):
文件 my_imports.py
:
import os, shutil
__all__ = ['os', 'shutil']
文件 your_other_file.py
:
from my_imports import *
print(os.curdir)
尽管您可能希望在其他文件中明确说明:
文件 your_other_file.py
:
from my_imports import os # or whichever you actually need.
print(os.curdir)
尽管如此,这仍然让您不必每次都指定各种来源 — 并且可以用一行代码完成。
关于python - 如何在模块之间共享导入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35102484/