Python:使用 exec() 从其他文件导入列表

我正在尝试从 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 name

name = input('>') # asking for file name

name = name[:-3] #deleting .py

list1 = [name, listN] 

listIMP(list1) # calling my func

但我无法获得 exec 的输出,这是我的列表,我知道我可以将其作为字符串获取,但我想将其作为列表获取,这可能吗?


不负相思意
浏览 86回答 1
1回答

狐的传说

尝试import_module()使用getattr():from importlib import import_moduledef import_from(module, variable):    return getattr(import_module(module), variable)print(import_from('module_name', 'variable_name'))exec()并不完全适合您想要实现的目标。在这里使用它会给你带来不必要的头痛。替换__import__()为import_module(). 不鼓励使用前者。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python