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项目变得更加安全和方便

相关推荐

  1. Python 学习笔记)—— 异常处理

    2023-12-17 00:44:01       38 阅读
  2. PyTorch学习笔记基础函数篇(

    2023-12-17 00:44:01       45 阅读
  3. Python学习笔记

    2023-12-17 00:44:01       38 阅读
  4. C++学习笔记

    2023-12-17 00:44:01       55 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-17 00:44:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-17 00:44:01       106 阅读
  3. 在Django里面运行非项目文件

    2023-12-17 00:44:01       87 阅读
  4. Python语言-面向对象

    2023-12-17 00:44:01       96 阅读

热门阅读

  1. 快速学习C++中的模板

    2023-12-17 00:44:01       54 阅读
  2. [笔记] wsl2 下使用 qemu/grub 模拟系统启动(多分区)

    2023-12-17 00:44:01       56 阅读
  3. 来聊聊CAS

    2023-12-17 00:44:01       57 阅读
  4. Linux 中定时任务

    2023-12-17 00:44:01       56 阅读
  5. C语言第五十二弹--模拟使用strncat

    2023-12-17 00:44:01       49 阅读
  6. log4j2配置文件log4j2.xml详解

    2023-12-17 00:44:01       56 阅读
  7. Android Spinner监听列表展开和收起状态

    2023-12-17 00:44:01       53 阅读
  8. C++ lambda表达式

    2023-12-17 00:44:01       67 阅读
  9. Unity利用ZXing库 生成和识别二维码

    2023-12-17 00:44:01       52 阅读