在两个具有相同名称的文件夹中导入python

时间:2013-12-20 18:56:49

标签: python import

我有一个看似不寻常的情况。

── 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环境中,好像文件夹3不存在,然后在文件夹3中,好像在同一次执行期间不存在folder2。我怎样才能做到这一点 ?

注意: 我没有编写 init.py 以提高可读性,但它们位于我的文件夹和子文件夹中 我尝试使用路径,在导入file1.py之前删除folder2但没有成功。

1 个答案:

答案 0 :(得分:1)

您可以在导入时重命名模块,如下所示:

from src.fileA import classA as fileAclassA
from src.fileB import classA as fileBclassA