繁体   English   中英

顶级进口取代低级进口?

[英]Top level imports supersede lower level imports?

在一个 jupyter 笔记本中,我有

import modin.pandas as pd
import utils

utils.pyimport pandas as pd

utils.py中的pd是否导入pandasmodin.pandas 如果是前者,我有没有办法让utils.py使用modin.pandas笔记本中的 modin.pandas,而无需在utils.py的代码中更改它

utils模块将始终将pandas as pd ,即使您在另一个模块中将modins.pandas as pd ,在另一个模块中使用utils模块也不会改变这一点。 这是因为符号pd与模块字典相关联,而这个模块字典与另一个模块的字典是隔离的,这本质上代表了不同模块具有不同命名空间的核心思想。

utils中使用modins.pandas的方法是更新符号pd 您可以通过使用setattr方法将旧符号替换为新符号来轻松完成此操作:

import modin.pandas as pd
import utils

setattr(utils, 'pd', pd)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM