Python编程中机密信息的处理和错误捕获的一些常识
in 学习日记 with 0 comment

背景

我们在Python写代码的时候,肯定会有一些机密信息需要处理,比如账号密码,APIKey这样的东西。如果我们直接编写到代码中,会造成不安全的因素,如果代码泄露,我们的机密信息也会泄露。还有,在进行多人协作开发的时候,比如使用Git仓库进行源代码管理的时候,如果我们不对机密信息进行妥善保管,就会造成隐私的泄露。

特别是很多API文档中的机密信息,都喜欢用os.environ.get()这个方法,我根本不知道怎么传递。

所以原来我一直都是直接把什么Key都放到代码中,今天我学会了一种方法来妥善保管机密信息:

dotenv

这个是真的好用,只需要一个.env文件就可以保存机密信息并方便调用和传递,真的很方便

使用

安装

pip install python-dotenv

使用

在任意目录创建一个.env文件,在里面写上你的机密文件就行,比如这样

TENCENTCLOUD_SECRETID = YOUR_SECRET_ID
TENCENTCLOUD_SECRETKEY = YOUR_SECRET_KEY
DOMAIN = YOUR_DOMAIN
SUBDOMAIN = YOUR_SUBDOMAIN

然后就直接保存就行

不用加单引号或者双引号就行

然后在你需要使用env信息的文件中导入就行,比如这样

from dotenv import load_dotenv
import os

load_dotenv()
# 如果就这么写不加参数就是在当前这个py文件中寻找env文件载入,如果env文件在其他目录,这里路径作为参数传递即可,记得加引号

SecretId = os.environ.get('TENCENTCLOUD_SECRETID')
SecretKey = os.environ.get('TENCENTCLOUD_SECRETKEY')

这样一来就可以安全保存机密信息了。

注意,此时SecretIdSecretKey这两个值都是字符串变量了,要用的时候直接调用即可,不需要加引号了

好处

在实际开发中,对于机密信息的保护是很重要的,这样其实对于产品的交付也很重要。让用户在控制台中输入自己的机密信息多少有点不优雅,如果可以直接在文本文件中保存机密信息,程序直接读取,这样就优雅的多。

另外,这样可以只让机密信息保存在本地,更加安全。


错误捕获的一些常识

之前一直都很好奇,似乎错误捕获和条件语句没啥区别啊,不都是遇到某种情况然后进行处理了吗?

但是今天我终于知道了为什么,我总结了下大概有这几点:

我们实际上不能预知所有的错误发生,这才是异常处理的原因。或许有很多原因导致了一个错误,这些原因是不可预知的,这时我们就需要except来捕获异常。很重要的一句话:

if语句用于基于条件的控制流,这些条件通常是可以预先评估的。

我是六六,欢迎评论、交换想法和指正哦,一起加油!

主页

Responses