是否可以根据用户输入导入模块和调用函数? [复制]

Posted

技术标签:

【中文标题】是否可以根据用户输入导入模块和调用函数? [复制]【英文标题】:Is it possible to import modules and call functions based on user input? [duplicate] 【发布时间】:2021-09-28 23:27:49 【问题描述】:

是否可以在 Python 中使用用户输入调用模块和函数?

例如:

a = input("Module: ")

import a

b = input("Function: ")

a.b()

【问题讨论】:

我认为这些可能会有所帮助:***.com/questions/8718885/… 和 ***.com/questions/3061/… 这能回答你的问题吗? How to call Python functions dynamically 这能回答你的问题吗? import module from string variable 谢谢我解决了这个问题。您发布的链接有效。 【参考方案1】:

你可以使用

eval(f'import a')
eval(f'a.b')

但我强烈建议您不要只评估随机用户输入。

【讨论】:

你好,我用不同的方式解决了这个问题,顺便说一下,当我使用 eval 进行导入时,它会引发语法错误。

以上是关于是否可以根据用户输入导入模块和调用函数? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

带参数的 Powershell startjob 导入模块调用函数

python 反射

简单写一下模块的导入

如何使用用户输入在 Python 中调用函数? [复制]

Python反射

为啥在我导入模块时 Python 会运行我的模块,如何停止它?