我正在制作一个程序,用户可以保存文件,加载文件,并按照他们想要的方式命名文件。\n如何动态导入该模块的所有属性?\n例如,类似下面的伪代码:\n
module_name = input() from module_name import *
\n假设module_name以\".py\"结尾。\n我正在使用Python 3.5版本。
module_name
在上述代码中,通过使用importlib.import_module('math')从字符串中加载math模块,并使用其中的一些函数。然后,通过globals().update(my_module.__dict__)将my_module的属性添加到全局命名空间中。最后,打印出全局命名空间的内容以及调用sin(pi/2)函数。
importlib.import_module('math')
math
globals().update(my_module.__dict__)
my_module
sin(pi/2)
这种做法听起来像是个糟糕的想法,因为from x import *将会导入所有内容,并有可能覆盖本地属性。此外,很可能有更清晰的方式通过使用字典来实现你的目标。
from x import *
用户名或电子邮箱地址
密码