我有一个看似不寻常的情况。
── 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但没有成功。
答案 0 :(得分:1)
您可以在导入时重命名模块,如下所示:
from src.fileA import classA as fileAclassA
from src.fileB import classA as fileBclassA