我正在尝试从 python 中的文件导入列表,但我不知道列表或文件的名称。我在代码中询问它们,当我得到它们时,我试图导入列表,def listIMP(ITEM): listIMP = "from {0} import {1}".format(ITEM[0],', '.join(str(i) for i in ITEM[1:])) # generating command exec(listIMP) #exec generated command我称之为:listN = input('!\n')# asking for list namename = input('>') # asking for file namename = name[:-3] #deleting .pylist1 = [name, listN] listIMP(list1) # calling my func但我无法获得 exec 的输出,这是我的列表,我知道我可以将其作为字符串获取,但我想将其作为列表获取,这可能吗?
1 回答
狐的传说
TA贡献1804条经验 获得超3个赞
尝试import_module()
使用getattr()
:
from importlib import import_module
def import_from(module, variable):
return getattr(import_module(module), variable)
print(import_from('module_name', 'variable_name'))
exec()
并不完全适合您想要实现的目标。在这里使用它会给你带来不必要的头痛。
替换__import__()
为import_module()
. 不鼓励使用前者。
添加回答
举报
0/150
提交
取消