python - 在导入命令中使用变量

标签 python variables import

我有一个像

这样的变量
k = os

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

import os

然后我就没有错误了 但是我怎样才能导入 k ( k 实际上是 os ) 我试过了

import k

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

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

我怎样才能做到这一点

from os.environ['DJANGO_SETTINGS_MODULE'] import DATABASES

最佳答案

使用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

关于python - 在导入命令中使用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19725177/

相关文章:

python - Django:为生产中的网站设置高效的日志系统

python - 在 Windows 的 virtualenv 中安装 scrapy/pyopenssl

python - 使用 Python 处理 GitHub Wiki 存储库

javascript - 如何在 javascript 中传递变量而不使用参数?

java - R 无法解析为变量 - Hello World

MySQL加载数据: This command is not supported in the prepared statement protocol yet

python - urllib3 最大重试错误

jquery - 在jquery中的click函数中声明一个var

ruby - 如何声明在 RSpec 中的示例之间共享的变量?

python - 导入 F2Py 模块时如何出现 "catch"段错误?