gpt4 book ai didi

python - 如何将字符串转换为变量名?

转载 作者:太空狗 更新时间:2023-10-29 20:39:06 24 4
gpt4 key购买 nike

我想知道如何将字符串输入转换为变量名以用于 Python 代码。一个具体的例子:

def insrospect(foo, bar):
requested_module = makestringvariable(foo)
requested_object = makestringvariable(bar)
import requested_module
for item in inspect.getmemebers(requested_module.requested_object):
member = makestringvariable(item[0])
if callable(requested_object.member):
print item

if __name__ == '__main__':
introspect(somemodule, someobject)

所以在上面,因为我不知道在启动之前要自省(introspection)哪个模块,所以我需要将字符串转换为可用的模块名称,并且因为 getmembers() 返回成员作为字符串,我也需要将它们转换为可用的变量名以检查它们是否可调用。

有这样的makestringvariable()函数吗?

最佳答案

__import__函数和 getattr魔法,你将能够直接写这个:

import importlib
def introspect(foo, bar):
imported_module = importlib.import_module(foo)
imported_object = getattr(imported_module, bar)
for item in inspect.getmembers(imported_object):
if callable(getattr(imported_object, item[0]):
print item

if __name__ == '__main__':
introspect(somemodule, someobject)

关于python - 如何将字符串转换为变量名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6122816/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com