当前位置: 首页 > news >正文

MS python学习(7)

Managing Keys - dotenv

Managing keys

usage of .env module

项目地址:https://github.com/theskumar/python-dotenv

Reads the key,value pair from .env and adds them to environment variable.

将key明文(hard code)形式写在script里面不安全,所以推荐把所有用到的环境变量写到.env文件里,然后以普通变量的方式读取作为环境变量。

用法

最简单和最常见的用法是在应用程序启动时调用load_dotenv(),从当前目录或其父目录中的.env文件或指定的路径加载环境变量,然后你可以调用os.getenv()提供的与环境相关的方法。

.env 文件内容写法
dotenv
Note:
变量的值是下面列表中定义的第一个值:

  • 系统环境变量
  • .env 文件中定义的值
  • 默认值,如果有的话
  • 空字符串

安装

pip install -U python-dotenv
-U参数是安装最新版本

确保你的项目目录下 有 .env 文件

.
├── .env
└── settings.py
└──.gitignore

Note: 记得把做项目的时候把.env放到git ignore里面防止走光光。

test1.py

from dotenv import load_dotenv
import os# load_dotenv()
load_dotenv(override=True)password = os.getenv('PASSWORD')
mypath = os.getenv('PATH')print('Show me the value from .env file:\n')
print(f'password:{password}\nmypath:{mypath}') 

使用load_dotenv()不加参数时:path的内容显示的是系统的path(因为系统的值为第一顺位)
在这里插入图片描述
加参数override=True可以优先使用.env里面的值
在这里插入图片描述

参数相关

通过load_dotenv ,你就可以访问像访问系统环境变量一样使用.env文件中的变量了,比如通过 os.genenv(key, default=None)

  • dotenv_path: 指定.env文件路径,当然如果不传该参数的话(默认为None)也会自定调用dotenv.find_dotenv()去查找文件位置的,但是你的文件名如果不是.env那就必须传递该参数了

  • override: 当.env 文件中有变量与系统中原来的环境变量有冲突时,按照上面的取值顺序,默认使用系统变量,如果要用.env中的变量覆盖系统变量,可以给load_dotenv() 传递参数override=True。此时只是临时使用了.env 中的变量值

  • encoding: load_dotenv() 也可以传递encoding 参数指定文件的编码方式。

内容参考自 https://blog.csdn.net/wanzheng_96/article/details/106753209

http://www.lryc.cn/news/33462.html

相关文章:

  • 工业物联网“杀手级”应用—预测性维护
  • Java代码弱点与修复之——Explicit null dereferenced(显式空间接引用)
  • 一元导数与多元求导数总结
  • 通过堆栈分析深拷贝、浅拷贝、赋值的差异
  • 网络割接概述
  • 开放开源开先河(下)
  • maven的学习
  • 从前端到后端全面解析文件上传
  • 全网火爆,软件测试面试题大全,接口测试题+回答 (18k+的offer)
  • 【iOS】—— 浅看block源码
  • I.MX6ULL_Linux_系统篇(23) busybox文件系统构建
  • shpjs将.zip文件转成geoJson
  • eBay是不是一定要养号?是的
  • 宝塔(二):升级JDK版本
  • 【LeetCode】螺旋矩阵 [M](数组)
  • 实验二:动态规划
  • 华为机试 HJ27 查找兄弟单词
  • 佩戴舒适的蓝牙耳机有哪些?佩戴舒适的蓝牙耳机推荐
  • ESXI主机安装Zabbix 6.2
  • 【Linux 网络编程1】使用UDP/TCP编写套接字,多进程/多线程版本的TCP编写的套接字,将套接字封装
  • 滑动窗口求最大和最小
  • 跟ChatGPT学量化,菜鸟炒股也不怕
  • 扬帆优配|2600亿新能源巨头狂飙!外资唱多中国:再涨15%
  • ChatGPT技术与商业模式及产业发展布局方案
  • CIMCAI port ai shipping ai artificial intelligence smart port
  • 《数据解构》HashMap源码解读
  • Databend 开源周报 第 83 期
  • Spring | 基础
  • windows7安装sql server 2000安装步骤 及安装过程中遇到的问题和解决方式
  • Python 开发-批量 FofaSRC 提取POC 验证