小编Bil*_*man的帖子

拦截模块调用?

我试图“拦截”对特定模块的所有调用,并将它们重新路由到另一个对象。我想这样做,以便我可以拥有一个相当简单的插件架构。

例如,在 main.py

import renderer

renderer.draw('circle')
Run Code Online (Sandbox Code Playgroud)

在 renderer.py 中

specificRenderer = OpenGLRenderer()

#Then, i'd like to route all calls from main.py so that
#specificRenderer.methodName(methodArgs) is called
# i.e. the above example would call specificRenderer.draw('circle')
Run Code Online (Sandbox Code Playgroud)

这意味着任何函数都可以导入渲染器并使用它,而无需担心细节。这也意味着我可以通过创建另一个对象并将其分配给 renderer.py 中的“specificRenderer”值来完全更改渲染器

有任何想法吗?

python module

2
推荐指数
1
解决办法
1187
查看次数

标签 统计

module ×1

python ×1