2013-12-20 96 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 
相關問題