Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果存在重复的模块名称,Python将指定从哪个模块导入?_Python - Fatal编程技术网

如果存在重复的模块名称,Python将指定从哪个模块导入?

如果存在重复的模块名称,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() 你说我要

有关:

我要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()

你说我要A导入B是什么意思?有两个B。您希望A导入哪个B?如果你不想让A导入,为什么在dirA中有B.py?没错。这就是问题所在,因为有两个。在我的软件中,它是一个版本控制的东西。有些情况下,作为包装的A需要从位于文件系统不同树中的早期版本B.py导入。我认为您应该解释一下您的实际情况。你可能需要重新考虑你解决这个问题的策略。尝试在不同的目录中导入多个同名文件中的一个,而这些文件不是包,这将导致非常混乱的代码。如果他们没有呢?请参考此堆栈溢出链接了解您的问题>>我不知道这一点。有趣的
import imp

moduleB = imp.load_source('moduleB', '/ModuleBPath/B.py')
moduleB.MyClass()