Python语言学习笔记之十一(DotEnv)

本课程对于有其它语言基础的开发人员可以参考和学习,同时也是记录下来,为个人学习使用,文档中有此不当之处,请谅解。

1、认识Python DotEnv

dotenv是Python中的一个工具包,它主要用于谈取项目中的.env文件,并将.env文件中定义的环境变量导人到当前的环

境中供当前程序使用

.env文件是一个配置文件其中包含的kev-value键值对表示程序所需要用到的环境变量这种方式允许敏感信息(如API密、数据码等储在境量中,而不是硬码在代码中使得这些信息更加安全并减少泄露的风险。

Python-dotenv是一个Python库它可以从env文件中读取环境变量,将它们存储在操作系统的环境变量中使Python应用程序可以轻松地访问这些变量env文件是一个纯文本文件其中包含key=value对,每个key=value对占据一行

将敏感信息存储在环境变量中而不是硬编码在代码中是一个好的安全实践,因为这些值不会存储在代码库中也不会在部署时暴露出来。

​​​​​​​2、为什么使用Python-dotEnv

1、保护敏感信息

使用Python-dotenv将敏感信息存储在环境变量中,而不是硬编码在代码中,可以更加安全地保护这些信息在Git等版本控制系统中,·gitignore文件可以忽略.env文件,以避免将敏感信息推送到仓库中这样可以保证代码的安全,并减少泄露的风险,

2、方便易用

Python-dotenv提供了一种简单的方式来管理环境变量,并且可以在不同的部署阶段中使用不同的变量而无需修改代码本身。此外,Python-dotenv还可以与其他工具集成使用,比如docker-compose.这样可以轻松实现本地开发和生产环境之间的切换。

3、支持多种变量格式

Python-dotenv支持多种变量格式,这些格式包括: key=value, key="value",key='value'以及key=value # comment.这些灵活的格式使得Python-dotenv非常容易集成到不同的项目中

​​​​​​​3、如何使用Python-dotEnv

1、安装Pvthon-dotenv你可以使用pip来安装Python-dotenv,运行命令

pip install python-dotenv

2、创建env文件创建一个.env文件,并将环境变量写入该文件中,每个key=value对应一行

3、将env文件中的变量加载到系统环境变量中通过使用load_dotenv函数,将env文件中的所有变量读取到系统环境变量中,可以在程序中方便地使用这些变量.

4、使用Python-dotenv进行配置

除了使用环境变量,Python-dotenv还可以与其他集成使用比如Flask,在Flask应用程序中,使展Python-dotenv来管理应用程序配置非常简单,可以在应用程序根目录中创建一个.env文件,然后在应用程序初始化时使用loaddotenv丽数将变量加载到系统中

​​​​​​​4、总结

Python-dotenv提供了一种简单的方式来管理环境变量,使得Python应用程序可以轻松地访问这些变量。通过使用Python-dotenv,可以更加安全地保护敏感信息,并且方便易用,支持多种变量格式,在不同的部署阶段中使用不同的变量,而无需修改代码本身,是一个很好的实践。总体来说,Python-dotenv是一个非常有用的工具,可以使得Python项目变得更加安全和方便

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/276590.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java导出excel通用工具(POI,类注解形式)

通过给类定义注解(设置名称,设置kv转换值),然后利用设置的名称和传入的数据进行导出。 只需要在项目添加两个工具类就可以实现excel导出功能。 1、单sheet 步骤:1、根据业务需求定义导出的类,并设置表头名称。 …

系列三、DDL

一、DDL 1.1、概述 DDL是英文单词Data Definition Language的缩写,中文意思为数据定义语言,是用来定义数据库对象(数据库,表,字段)的。 1.2、数据库操作 1.2.1、查询所有数据库 show databases; 1.2.2、创建数据库 # 语法 cre…

Vue学习计划-Vue2--VueCLi(五)全局事件总线、消息订阅与发布(pubsub)

抛出问题:我们多级组件,或者任意不想关的子组件如何传递数据呢? 1. 全局事件总线($bus) 一种组件间通信的方式,适用于任意组件间通信 全局事件总线示意图: 安装全局事件总线: new Vue({..…

FM30H12G N通道沟槽电源MOS管 封装形式PDFN5*6

FM30H12G 是一款 N通道沟槽电源的场效应管(MOS管),封装形式:PDFN5*6。 来百度APP畅享高清图片 FM30H12G应用: 1、液晶电视 2、笔记本 3、电梯 4、感应加热 5、电动工具

CMD命令行如何快速定位到指定路径

我们在工作过程中,经常需要在控制台输入一些命令行,有些情况下需要在指定的路径下执行某些命令行,这就需要在cmd中定位到指定路径,下面介绍 CMD快速定位到当前路径的两种方法。 1.手动定位法 首先,我们要定位到D:\Work…

商业印刷市场分析:预计2029年将达到53004亿元

商业印刷技术显示了强大的生命力。电子商务的扩张性发展,传统的商务印刷行业也在逐渐的转型。中国印刷业已深度融入全球印刷加工产业链,为国际社会超过50个国家提供印刷包装服务。数据显示,中国印刷业对外加工贸易额已达842亿元。 商业印刷是…

关于 Redis 与传统关系型数据库的选择

当需要为你的应用程序选择合适的数据库时,选择何种数据库通常取决于你项目的特定要求。Redis 是一种高性能的内存数据存储,而 MySQL 等传统关系型数据库也各自具有自己的优势和劣势。在本期文章中,我们将探讨在 Redis 和传统关系型数据库之间…

圈子社交文化系统,了解生活,更了解你!APP小程序H5三端源码交付,支持二开!

在这个快节奏的时代,圈子社交系统成为了我生活中不可或缺的一部分。通过这个系统,我不仅可以结识到志同道合的朋友,还可以参与各种有趣的活动和发布自己的心情和见解。在这个圈子里,我感受到了无限的可能性和温暖的人性。 首先&am…

深度探索Linux操作系统 —— Linux图形原理探讨

系列文章目录 深度探索Linux操作系统 —— 编译过程分析 深度探索Linux操作系统 —— 构建工具链 深度探索Linux操作系统 —— 构建内核 深度探索Linux操作系统 —— 构建initramfs 深度探索Linux操作系统 —— 从内核空间到用户空间 深度探索Linux操作系统 —— 构建根文件系统…

【docker 】Dockerfile指令学习

学习文档地址 上篇文章:【docker 】基于Dockerfile创建镜像 Dockerfile指令文档地址 .dockerignore 文件 Dockerfile指令 常见的指令 Dockerfile 指令说明FROM指定基础镜像,用于后续的指令构建。MAINTAINER指定Dockerfile的作者/维护者。&#xff…

Intewell-Hyper I_V2.0.0_release版本正式发布

新型工业操作系统_Intewell-Hyper I_V2.0.0_release版本正式发布 软件发布版本信息 版本号:V2.0.0 版本发布类型:release正式版本 版本特点 1.建立Intewell-Hyper I基线版本 版本或修改说明 基于Intewell-Lin V2.3.0_release版本: 1.Devel…

c# 字段和属性(get、set、init)

目录 基本概念: 个人理解: 访问器的默认写法: set与init无法共存: init: 必须在类的实例化时给字段赋值的情况(require属性): 基本概念: “字段”就是类内成员变量,一般为了隐藏数据&…