2013-12-20 63 views
0

我有什么似乎是不寻常的情况。在python中导入两个具有相同名称的文件夹时

── folder1 
    ├── run.py 
    └── pgm.py 

── folder2 
     └── src 
      ├── fileA.py 
      └── fileB.py 

── folder3 
     └── src 
      ├── file1.py 
      └── file2.py 

Folder1中是我的,文件夹2和3是分叉的,我不想改变它,我不知道,我可以把他们三人在过文件夹。

在run.py,我有:

sys.path.append(path_folder2) 
    from src.fileA import classA 

这ClassA的,叫pgm.py感谢:

 module = importlib.import_module('pgm') 

和PGM试图在folder3.src其中进口导入file1.py他自己只有folder3的文件。将folder3添加到路径会引发ImportError。我认为这是因为python在folder2的子文件夹src中查找,我如何强制在folder3中查找?

事实上,我想在folder2 environnment中,就好像文件夹3不存在,然后在folder3中一样,就好像folder2在相同的执行过程中不存在一样。我怎样才能做到这一点 ?

注: 我没有写的init.py的可读性,但他们都在我的文件夹和子文件夹 我试图与路径玩,只导入file1.py但没有成功之前删除文件夹2。

+0

什么是“错误”的事情吗? –

+1

错误在说什么? –

+0

对不起:ImportError:没有名为file1的模块 – Alexis

回答

1

可以在进口重命名模块,像这样:

from src.fileA import classA as fileAclassA 
from src.fileB import classA as fileBclassA 
相关问题