首页 > 技术文章 > Python中用字符串导入module

chaoguo1234 2018-07-22 17:56 原文

在Python中,无法通过字符串来导入一个module文件:

import "string"  # Error

x = "string"
import x   # 不是导入string,而是导入名叫x的module文件

但是,如果要实现以字符串导入module文件的功能,该怎么办呢?有3种办法。

 

exec

将import语句拼接成字符串,放入到exec函数里面执行:

modname = 'string'
exec('import ' + modname)

 

__import__函数

调用built-in函数__import__:

modname = 'string'
__import__(modname)

 

import_module函数

这个是官方推荐,要调用import_module函数,首先要导入importlib:

import importlib

modname = 'string'
string = importlib.import_module(modname)

 

推荐阅读