在Python中,如果模块名称是一个变量,可以使用importlib
模块的import_module
函数动态导入模块,并通过dir
函数列出模块中的函数。
具体步骤如下:
importlib
模块:import importlib
import_module
函数动态导入模块:module = importlib.import_module(module_name)
module_name
为模块名称的变量,例如module_name = 'math'
module
变量中dir
函数列出模块中的函数:functions = dir(module)
functions
为包含模块中函数名称的列表注意:动态导入模块和列出函数需要在运行时进行,因此模块名称必须是一个变量,而不能直接写在代码中。
下面是一个示例代码:
import importlib
def list_functions(module_name):
module = importlib.import_module(module_name)
functions = dir(module)
return functions
module_name = 'math'
functions = list_functions(module_name)
print(functions)
以上代码将动态导入math
模块,并列出其中的函数。输出结果类似于:
['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'comb', 'copysign', 'cos', 'cosh', 'degrees', 'dist', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'perm', 'pi', 'pow', 'prod', 'radians', 'remainder', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc']
在这个例子中,我们动态导入了math
模块,并列出了其中的函数。
领取专属 10元无门槛券
手把手带您无忧上云