在import命令中使用变量

时间:2013-11-01 10:43:16

标签: python variables import

我有一个像

这样的变量
k = os

如果我必须导入操作系统 我可以写

import os

然后我没有错误 但是如何导入k(k实际上是os) 我试过了

import k

然后我得到错误,没有模块。 我尝试命名k = 'os'而不是k = os。我仍然遇到同样的错误

更新 实际上我必须从环境变量DJANGO_SETTINGS_MODULE中的设置文件中import DATABASES变量

我怎样才能实现这个目标

from os.environ['DJANGO_SETTINGS_MODULE'] import DATABASES

2 个答案:

答案 0 :(得分:7)

如果要根据字符串导入模块,请使用importlib模块:

>>> import importlib
>>> os = importlib.import_module('os')
>>> os
<module 'os' from '/usr/lib/python2.7/os.pyc'>

当你做这样的事情时:

>>> k = 'os'
>>> import k

然后Python仍然按照您的意图查找名为k.pyk.pyc等文件而不是os.py的文件。

答案 1 :(得分:3)

您可以使用__import__功能:

k = 'os'
module = __import__(k)