我很抱歉不能更容易地表达我的问题。我正在写一个大的包,在几乎每个功能中都广泛使用熊猫。自然,我的第一直觉是创建一个__init__.py
as
import pandas
# then import my own submodules and other things
然后,每次我在函数中使用pandas时,从子模块中调用它为from . import pandas as pd
或{
但是,如果我这样做,当我加载我的包时,pandas显示为一个“子模块”,即,有一个mypackage.pandas
。这不会伤害任何人,但我猜是不对的。避免这种情况的一种方法是在__init__.py
的末尾添加一个del pandas
,这似乎也不是正确的方法。在
所以从现在起,我不再在我的__init__
中导入pandas,而是在每个-函数-中分别导入,这样做很好,但重复性太强,无法设置全局熊猫设置。在
这里的首选方法是什么?有没有我缺少的方法?在
谢谢。在
不管怎样,他们会的。该模块只在您第一次调用
import pandas
时加载。此时,对模块的引用存储在可通过sys.modules
访问的模块字典中。任何其他模块中对import pandas
的任何后续调用都将重复使用来自sys.modules
的相同引用,因此您更改的任何选项也将应用。实际上它应该稍微快一点,因为它不必解析相对路径。加载模块后,后续调用的工作方式如下。。。
相关问题 更多 >
编程相关推荐