python-dotenv

安装

pip install python-dotenv   或  pipenv  install python-dotenv --skip-lock

创建目标文件

在项目根目录下创建, (可灵活选择)
touch .env

使用

import os
from dotenv import load_dotenv // 1. 导包
from pathlib import Path if __name__ == '__main__': load_dotenv() //2. 加载 .env 文件, 默认 这个文件名,默认自动 在当前工作目录下 查找
"""
文件可以是任意一个文件,则在加载时 需 显式 添加 参数 dotenv_path 来指定 此文件的位置,
例如:
env_path = Path("./modelForm_Demo01/.env")
load_dotenv(dotenv_path= env_path)
"""
courseList = eval(os.getenv("courseList")) // 3. 通过 os.genenv(key) 来获取, 类型都为字符串
// 获取到的字符串值, 可通过 eval() 内建函数 来转换为 对应 的 类型
print(type(courseList))
print(courseList[0])

Github 地址

flask 中的使用

Django-dotenv

安装

pip install django-dotenv    或  pipenv install django-dotenv  --skip-lock

卸载 python-dotenv

pip uninstall python-dotenv

使用

  • 修改 manage.py -------, 使用 runserver 启动 Django 的 情况下

    import os
    import sys
    import dotenv // 1. 导包 def main():
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'modelForm_Demo01.settings')
    try:
    from django.core.management import execute_from_command_line
    except ImportError as exc:
    pass
    execute_from_command_line(sys.argv) if __name__ == '__main__':
    dotenv.read_dotenv() // 2. 加载 .env 文件,默认 项目 根路径下查找,
    """
    params:
    dotenv : 文件 地址,例:os.path.abspath(os.path.join(os.path.dirname(__file__), '.env02'))
    override : 如果.env中的值应该覆盖系统变量,则为True , 默认 False
    """
    EMAIL_URL = os.getenv("EMAIL_URL") // 3. 获取 变量
    main()
  • 修改 wsgi.py 文件, ----- 使用 uwsgi 启动 Django 的 情况下

    #  具体 使用 方法 与 上面讲的 一样
    import os
    from django.core.wsgi import get_wsgi_application
    import dotenv // 1. 导包 dotenv.read_dotenv(os.path.join(os.path.dirname(__file__), '.env02')) // 2. 加载
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'modelForm_Demo01.settings') EMAIL_URL = os.getenv("EMAIL_URL") // 3. 获取 变量
    application = get_wsgi_application()

.env 文件说明

1. 使用键值对的形式定义
2. 以 # 开头的为注释

Github 地址

变量管理 dotenv 的 使用的更多相关文章

  1. 集成direnv 与docker-compose 进行环境变量管理

    direnv 是一个不错的换将变量管理工具,同时日常的开发测试中我们使用docker-compose 会比较多,一般我们的玩法是 可以再docker-compose 中指定环境变量,可以通过envir ...

  2. direnv 一个强大的环境变量管理工具

      direnv 是一个基于golang 编写的强大的环境变量管理工具,可以帮助我们简化环境变量管理,而且 支持的平台比较多. 基本使用 下载二进制软件包 https://github.com/dir ...

  3. Tesnsorflow命名空间与变量管理参数reuse

    一.TensorFlow中变量管理reuse参数的使用 1.TensorFlow用于变量管理的函数主要有两个:  (1)tf.get_variable:用于创建或获取变量的值  (2)tf.varia ...

  4. Ansible_变量管理与设置

    一.Ansible变量管理 1.变量概述 Ansible支持利用变量来存储值,并在Ansible项目的所有文件中重复使用这些值.这可以简化项目的创建和维护,并减少错误的数量 通过变量,可以轻松地在An ...

  5. Tensorflow 之 name/variable_scope 变量管理

    name/variable_scope 的作用 充分理解 name / variable_scope TensorFlow 入门笔记 当一个神经网络比较复杂.参数比较多时,就比较需要一个比较好的方式来 ...

  6. 83、Tensorflow中的变量管理

    ''' Created on Apr 21, 2017 @author: P0079482 ''' #如何通过tf.variable_scope函数来控制tf.ger_variable函数获取已经创建 ...

  7. VSCode的Python扩展下程序运行的几种方式与环境变量管理

    在VSCode中编写Python程序时,由于有些地方要使用环境变量,但是发现设置的环境变量有时不起作用,花了点时间研究了一下,过程不表,直接说结论. 首先,环境变量的设置,Python扩展中有三种方式 ...

  8. 6_1 持久化模型与再次加载_探讨(1)_三种持久化模型加载方式以及import_meta_graph方式加载持久化模型会存在的变量管理命名混淆的问题

    笔者提交到gitHub上的问题描述地址是:https://github.com/tensorflow/tensorflow/issues/20140 三种持久化模型加载方式的一个小结论 加载持久化模型 ...

  9. [ Module ] 环境变量管理工具 Module 安装和使用

    https://www.cnblogs.com/yeungchie/ 1. 工具下载 手动下载 modules-5.1.0 点击下载 wget 下载 wget https://jaist.dl.sou ...

随机推荐

  1. jmeter性能工具 之监控cpu,内存等信息(四)

    1.jmeter 本身不支持直接监控 cpu,内存等信息,需要去官网下载控件 JMeterPlugins-Standard-1.4.0.zip    解压好将其中\lib\ext\JMeterPlug ...

  2. Redis之数据类型

    一.概念: Redis:一个开源.支持网络.基于内存.键值对存储数据库. 特点:它可以支持多种数据类型. 二.数据类型 1)Redis String 具体说明: 一般的普通的k到v一个映射是Strin ...

  3. How To Create/Extend Swap Partition In Linux Using LVM

    https://www.2daygeek.com/how-to-create-extend-swap-partition-in-linux-using-lvm/ BY RAMYA NUVVULA ·  ...

  4. Android解析编译之后的所有文件(so,dex,xml,arsc)格式

    我们在之前一篇一篇介绍了如何解析Android中编译之后的所有文件格式,所有的工作都完成了,这里我们就来做个总结,我们为什么要做这些工作: 第一篇:解析so文件格式 点击进入 这里我们解析so文件,主 ...

  5. linux centos添加yum镜像

    下载配置文件,加入/etc/yum.repos.d/阿里镜像:http://mirrors.aliyun.com/repo/Centos-7.repo网易镜像:http://mirrors.163.c ...

  6. .HDF数据库与SQLSERVER / ORACLE的区别

    无论ArcGIS的.gbd文件还是MapGIS的.hdf文件,都是数据库文件. 后缀是无意义的.有意义的是其中内在的逻辑和数据结构. https://zhidao.baidu.com/question ...

  7. Prefix

    Prefix 南昌邀请赛的题,字典树 #include<bits/stdc++.h> using namespace std; typedef long long ll; ll A[]; ...

  8. Elven Postman

    Elven Postman Time Limit: 1500/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)T ...

  9. [CSP-S模拟测试94]题解

    A.凉宫春日的忧郁 高精硬上似乎跑不过,其实可以都取个$log$.那么只需要比较$y\times log ^x$和$\sum \limits _{i=1}^y log^i$就好了. #include& ...

  10. SHADER 用 step替代 if-else

    今天聊起这个问题,百度发现了这个优化方式: https://blog.csdn.net/liu_if_else/article/details/77455639