为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

不负相思意 2024-01-15 17:03:10
我正在尝试从 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(). 不鼓励使用前者。


查看完整回答
反对 回复 2024-01-15
  • 1 回答
  • 0 关注
  • 26 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信