假设src文件夹中有以下结构:
conf.py
./drivers
mod1.py --> contains mod1Class
mod2.py --> contains mod2Class
我想要的是配置文件自动实例化mod*.py中的类,这样如果有一天我要添加mod3.py-->mod3Class,它将自动实例化在配置文件没有添加任何代码行。在
我试过了,但没有成功:
^{pr2}$但我无法导入,我收到一个名称错误。所以我在第一步就被卡住了。另外,假设我能够成功地执行导入,我该怎么做:
mod1Class_instance = mod1.mod1Class() (in a cycle, one instance for every file in drivers)
以自动的方式?我不能使用字符串来创建类的实例,所以我无法获取驱动程序中的文件名并使用字符串。做这个手术的正确方法是什么?在
谢谢
这将在目录
drivers
中加载模块中的类,该目录位于当前模块的同一目录中,并且不需要使drivers
成为一个包:也许,这正是你需要的:
而且,还应该在
drivers
文件夹中创建__init__.py
文件。这意味着您的文件夹是一个python模块。在另一方面,我建议手动描述所有导入。这种简单的方法使代码更加清晰。在
相关问题 更多 >
编程相关推荐