在 Python 中使用变量名的模块
Using a module with variable name in Python
我想运行一个带有变量名的模块函数,例如:
Plugins.SomeUnknownName.function()
不知道他们的名字,但 Plugins.
和 .function()
保持不变。
我已经尝试了几种方法,例如 plugin = 'Plugins.' + unknown_plugin_name + '.function()'
或
plugin_name = "SomePlugin"
Plugins.plugin_name.function()
但我不知道更多。
也许有人知道如何解决这个问题。
也是我第一次栈溢出post,如有不妥请指正
您可以使用getattr
来传递字符串名称。以 numpy
为例,正常用法是这样的
>>> import numpy
>>> numpy.random.randint(1, 5)
2
现在类似于你的例子
>>> getattr(numpy, 'random').randint(1, 5)
2
所以申请你的案例
getattr(Plugins, 'plugin_name').function()
我想运行一个带有变量名的模块函数,例如:
Plugins.SomeUnknownName.function()
不知道他们的名字,但 Plugins.
和 .function()
保持不变。
我已经尝试了几种方法,例如 plugin = 'Plugins.' + unknown_plugin_name + '.function()'
或
plugin_name = "SomePlugin"
Plugins.plugin_name.function()
但我不知道更多。
也许有人知道如何解决这个问题。
也是我第一次栈溢出post,如有不妥请指正
您可以使用getattr
来传递字符串名称。以 numpy
为例,正常用法是这样的
>>> import numpy
>>> numpy.random.randint(1, 5)
2
现在类似于你的例子
>>> getattr(numpy, 'random').randint(1, 5)
2
所以申请你的案例
getattr(Plugins, 'plugin_name').function()