我是python和PyCharm的新手。以下代码在python控制台中工作,列出了数学包中的函数:
import importlib
st = 'math'
importlib.import_module(st)
dir(eval(st))
但是,如果编辑器窗口中显示相同的代码段并运行,则以下消息显示:
Traceback (most recent call last):
File "C:/Users/sywan/PycharmProjects/test/test.py", line 4, in <module>
dir(eval(st))
File "<string>", line 1, in <module>
NameError: name 'math' is not defined
非常感谢您的回答!
答案 0 :(得分:1)
This so answer explains what does eval do
eval
将字符串解释为代码。在你的情况下,eval convert&#39; math&#39;进入数学并搜索名为math的变量。
import importlib
st = 'math'
dir_path = importlib.import_module(st)
dir(dir_path)
要在数学模块中查找函数,请将模块路径保存在变量中,然后将dir
方法应用为importlib.import_module(st)
返回st目录路径