动态模块加载程序
modlib的Python项目详细描述
modlib
==
[![最新版本](https://img.shields.io/pypi/v/modlib.svg?style=flat)(https://pypi.python.org/pypi/modlib/)
[![覆盖状态](https://img.shields.io/covertalls/akerl/modlib.svg?(https://coveralls.io/r/akerl/modlib)
[![构建状态](https://img.shields.io/travis/akerl/modlib.svg?(https://travis ci.org/akerl/modlib)
[![麻省理工学院许可](https://img.shields.io/badge/license-mit-green.svg?style=flat)(https://tldrlegal.com/license/mit license)
简化了动态模块的导入。它公开modstack类,该类在导入模块时收集模块。如果再次需要相同的模块,它将从堆栈返回现有的模块,而不是重新导入它。它还支持从模块而不是整个模块获取特定项
'hello.world']
module s={x:stack.get(x)for x in names}
```
可以为模块路径使用自定义公式。默认值是`{0}`,它接受您直接传递给`.get()`的名称。如果您的模块遵循一个通用模式,这将非常有用。例如,如果您的模块存储在`./modules/{kind}/{name}`中,则可以将该参数传递给modstack:
```
import modlib
stack=modlib.modstack(formula='modules.{kind}.{name}')
fruits=['apple','orange','tomato']
fruitu modules={x:stack.get(kind='fruit',name=x)对于水果中的x}
```
例如,如果要从每个模块中提取run()方法:
````
import modlib
stack=modlib.modstack(target='run')
actions=['jump','swim',,“bike”]
action_methods={x:stack.get(x)for x in names}
````
有关详细信息,请参阅捆绑的许可证文件。
==
[![最新版本](https://img.shields.io/pypi/v/modlib.svg?style=flat)(https://pypi.python.org/pypi/modlib/)
[![覆盖状态](https://img.shields.io/covertalls/akerl/modlib.svg?(https://coveralls.io/r/akerl/modlib)
[![构建状态](https://img.shields.io/travis/akerl/modlib.svg?(https://travis ci.org/akerl/modlib)
[![麻省理工学院许可](https://img.shields.io/badge/license-mit-green.svg?style=flat)(https://tldrlegal.com/license/mit license)
简化了动态模块的导入。它公开modstack类,该类在导入模块时收集模块。如果再次需要相同的模块,它将从堆栈返回现有的模块,而不是重新导入它。它还支持从模块而不是整个模块获取特定项
'hello.world']
module s={x:stack.get(x)for x in names}
```
可以为模块路径使用自定义公式。默认值是`{0}`,它接受您直接传递给`.get()`的名称。如果您的模块遵循一个通用模式,这将非常有用。例如,如果您的模块存储在`./modules/{kind}/{name}`中,则可以将该参数传递给modstack:
```
import modlib
stack=modlib.modstack(formula='modules.{kind}.{name}')
fruits=['apple','orange','tomato']
fruitu modules={x:stack.get(kind='fruit',name=x)对于水果中的x}
```
例如,如果要从每个模块中提取run()方法:
````
import modlib
stack=modlib.modstack(target='run')
actions=['jump','swim',,“bike”]
action_methods={x:stack.get(x)for x in names}
````
有关详细信息,请参阅捆绑的许可证文件。