5

我有一个变量

k = os

如果我必须导入 os 我可以写

import os

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

import k

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

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

我怎样才能做到这一点

from os.environ['DJANGO_SETTINGS_MODULE'] import DATABASES
4

2 回答 2

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.pycos.py

于 2013-11-01T10:45:56.470 回答
3

您可以使用以下__import__功能:

k = 'os'
module = __import__(k)
于 2013-11-01T10:45:48.690 回答