如果存在重复的模块名称,Python将指定从哪个模块导入?
有关: 我要A导入B如果存在重复的模块名称,Python将指定从哪个模块导入?,python,Python,有关: 我要A导入B 既然两个dir都有B.py,我如何指定A从dirB而不是dirA导入B?u可以使用如下方法:- from A import B from B import B as B1 并继续使用。您可以尝试以下变体: from ..dirB import B 我认为您需要的是如何直接从目录加载模块 import imp moduleB = imp.load_source('moduleB', '/ModuleBPath/B.py') moduleB.MyClass() 你说我要
既然两个dir都有B.py,我如何指定A从dirB而不是dirA导入B?u可以使用如下方法:-
from A import B
from B import B as B1
并继续使用。您可以尝试以下变体:
from ..dirB import B
我认为您需要的是如何直接从目录加载模块
import imp
moduleB = imp.load_source('moduleB', '/ModuleBPath/B.py')
moduleB.MyClass()
你说我要A导入B是什么意思?有两个B。您希望A导入哪个B?如果你不想让A导入,为什么在dirA中有B.py?没错。这就是问题所在,因为有两个。在我的软件中,它是一个版本控制的东西。有些情况下,作为包装的A需要从位于文件系统不同树中的早期版本B.py导入。我认为您应该解释一下您的实际情况。你可能需要重新考虑你解决这个问题的策略。尝试在不同的目录中导入多个同名文件中的一个,而这些文件不是包,这将导致非常混乱的代码。如果他们没有呢?请参考此堆栈溢出链接了解您的问题>>我不知道这一点。有趣的
import imp
moduleB = imp.load_source('moduleB', '/ModuleBPath/B.py')
moduleB.MyClass()