📜  python 从字符串名称导入 - Python (1)

📅  最后修改于: 2023-12-03 14:46:12.209000             🧑  作者: Mango

Python从字符串名称导入

在Python中,我们经常需要从一个字符串中动态地导入模块或对象。Python提供了3种方法来从字符串导入模块或对象。

1. 使用 import() 函数

import()函数是Python的内置函数,它使用字符串名称导入模块。下面是一个示例:

module_name = "os"
module = __import__(module_name)

在上面的代码中,我们将模块名存储在字符串变量module_name中,然后使用__import__()函数动态地导入模块。

2. 使用 importlib 模块

importlib模块是一个高级工具,可以用于从字符串中动态导入模块。下面是一个使用importlib导入模块的示例:

import importlib

module_name = "os"
module = importlib.import_module(module_name)

在上面的代码中,我们使用import_module()函数从字符串中导入模块,并将其存储在变量module中。

3. 使用 exec() 函数

我们还可以使用Python的内置函数exec()来执行字符串中的Python代码。使用exec()函数,我们可以从字符串中导入模块或对象:

module_name = "os"
exec("import " + module_name)
module = eval(module_name)

在上面的代码中,我们使用exec()函数来执行字符串"import os",然后使用eval()函数将字符串"os"转换为实际的Python对象。

虽然使用exec()函数是一种更简单的方法,但它不够安全,容易受到恶意攻击。因此,我们建议使用方法1或方法2来从字符串中动态导入模块或对象。

以上就是Python从字符串名称导入的3种方法。根据具体的场景,我们可以选择使用其中的一种方法。