我正在尝试接受用户的输入,看看是否有一个名为他们输入的模块。如果有,我然后想要导入该模块,并在其中调用同名的函数。我知道有更简单的方法可以做到这一点,但我想尝试让它变得非常紧凑。
这是我的想法:
userinput = str.lower(input(prompt))
try:
import (userinput) as _(userinput)
_(userinput).(userinput)
except:
print("Module not found")
如果找不到名称给定的模块,它只会触发异常并继续。
我的问题是能够从输入中给出的字符串中导入模块。
答案 0 :(得分:0)
userinput = str.lower(input(prompt))
try:
exec("import %s as _(userinput)"%(userinput))
#_(userinput).(userinput) ???????
except:
print("Module not found")
exec()部分有效,但我不确定你想用_(userinput)做什么。(userinput)
答案 1 :(得分:0)
使用__import__
功能。
userinput = input("Enter name of module to import: ")
module = __import__(userinput)