我的项目布局如下:
run.py
jobs/
job1.py
job2.py
job1.py
非常基本:
class job1():
def __init__(self):
print 'yo'
在run.py中,我有:
name = 'job1'
classname = 'jobs.%s' % name
__import__(classname)
这显然不起作用:
Traceback (most recent call last):
File "run.py", line 5, in <module>
__import__(classname)
ImportError: No module named jobs.job1
以这种方式导入模块的最佳方法是什么?
答案 0 :(得分:2)
首先在jobs文件夹中创建一个__init__.py
文件,以使这个jobs.jobs1
工作。
答案 1 :(得分:1)
将其添加到__init__.py
目录中的jobs
import os
jobs = {}
for module in (name for name in os.listdir(".") if name.endswith(".py")):
jobs[module] = __import__(module)
然后就这样使用它
from jobs import jobs