我的.py
模块位于C:\Python_Projects\MyModules\
,名称为button_generator.py
。
我的代码是这样的:
module_path='C:\\Python_Projects\\MyModules'
module_name='button_generator.py'
sys.path.append(module_path)
try:
limp=importlib.import_module(module_name.split('.')[0])
except:
print 'module import error'
我也试过其他版本:
我在sys.path中的文件夹C:\Python_Projects\MyModules
正在调试期间检查。
为什么模块不会导入?
答案 0 :(得分:1)
我建议您重新排序项目目录,避免调用当前目录项目中没有的其他模块。你会避免这些错误。
例如,让我们组织我们的项目目录和文件夹,如下所示:
MyProjectFolder/
├── main.py
└── modules
├── __init__.py
└── MyLib.py
NB:不要忘记添加一个名为__init__.py
的空文件
MyLib.py:
#!/usr/bin/python3
class MyLib:
def __init__(self):
self.say_hello = "Hello i'm in modules/MyLib"
def print_say_hello(self):
print(self.say_hello)
<强> main.py:强>
#!/usr/bin/python3
# from folder.file import class
from modules.MyLib import MyLib
class MainClass:
def __init__(self):
my_lib = MyLib() # load MyLib class
my_lib.print_say_hello() # access to MyLib methods
### Test
if __name__ == '__main__':
app = MainClass()
在我运行的终端中:
$ python3 main.py
输出
Hello i'm in modules/MyLib
所以我们已成功将modules/MyLib.py
中的课程导入我们的main.py
文件。
答案 1 :(得分:1)
我发现了错误:
通过打印它的args来处理ImportError异常后,我注意到button_generator.py
有一个无法解析的导入。基本上,无法导入button_generator.py
,因为导入错误。