我有一个python应用程序,它有这样的目录结构。蟒蛇__import __()从2个不同的目录导入,当相同的模块存在于2个位置
-pythonapp
-mainpython.py
-module1
-submodule1
-file1.py
-file2.py
-submodule2
-file3.py
-file3.py
-submodule3
-file1.py
-file2.py
-file5.py
-file6.py
-file7.py
,当我尝试导入蟒蛇工具(从mainpython.py)下submodule3,我从submodule1获得初始的2个文件。(请注意,submodule1和3具有相同的名称2个不同的文件)。但是,如果没有冲突,即相同的导入正常工作,即从子模块3正确导入文件5,6,7。
下面是代码:
name=os.path.splitext(os.path.split("module1\submodule3\file1.py")[1])[0] --> file1.py name here is passed dynamically.
module = __import__(name)
//下面是名字,如“文件1”它的工作原理(但与上面说的问题,不过,当通过动态的文件名),但如果我将完整的包作为“module1.submodule1.file1”传递失败,并导致一个ImportError说“没有名称为file1的模块”
现在的问题是我们如何告诉解释器只使用“module1.submodule3 .file2" ?我正在使用python
这真的很紧急,我用尽了所有的尝试。希望一些有经验的Python开发人员能为我解决这个问题吗?
您可以请重新格式化您的问题? – 2011-01-05 05:50:14
你为什么使用'__import__'?为什么不从'从module1.submodule3导入filex'? – aaronasterling 2011-01-05 06:11:31