Python-隐藏变量
在脚本中需要使用一些敏感信息(如API key,password)时,我们应该尽量避免将这些变量直接明码写在脚本中。
我们可以为这些变量创建环境,以隐藏这些敏感信息。
一、导入需要的库dotenv
dotenv
用于读取项目中的.env
文件中的环境变量,加载到Python环境中,适合用来管理
- 数据库密码
- API密钥
- 调试开关
- 本地与生产环境的配置差异
1 | pip install python-dotenv |
Successfully installed python-dotenv-1.1.0
二、使用方法
1 在项目中创建一个新的“环境”
在项目中创建一个名为.env
的纯文本文件,存储键值对。
.env
文件示例:
1 | DEBUG=True |
2 在Python代码中使用
示例代码:
1 | from dotenv import load_dotenv |
就开业成功读取.env
中存储的敏感信息了。
3 记得在.gitignore
中添加
防止在上传或者分享项目到开源平台时把保护好的隐私信息上传。
三、更复杂的场合
不同的开发环境配置
你可以为开发环境配置.enc.dev
,而为生产环境配置.env.prod
,以区别。并且这样可以避免在代码里面硬编码密码或者API的相关信息。
不同的加载
1 | from dotenv import load_dotenv |
检查变量是否加载成功
1 | if "SECRET_KEY" not in os.environ: |