龙空技术网

Python开发中如何正确处理凭据

徐福工程师 268

前言:

此时看官们对“python环境未激活”大致比较关怀,你们都需要了解一些“python环境未激活”的相关知识。那么小编也在网摘上收集了一些有关“python环境未激活””的相关资讯,希望看官们能喜欢,大家快快来了解一下吧!

在脚本编写中免不了要使用凭据:比如访问第三方接口的token或连接数据库的密码,这些字符串信息不能直接写到脚本里面,毕竟没人愿意这些敏感信息外泄。下面介绍三种本地保存和读取凭据的方法:

将凭据保存为环境变量

这种方法比较直观,

export password=verysecure

在命令行执行上面命令后,在当前环境里的Python脚本就可以直接使用os模块读取到环境变量的值,

import osprint(os.environ.get('password'))

执行上面的脚本,输出:

verysecure
在Python虚拟环境中保存凭据

这种方法要求在Python虚拟环境中。安装完Python虚拟环境后,激活虚拟环境,需要执行”bin/activate“脚本,我们可以将Python代码中要用到的凭据写到这个文件中,和第一种方法类似,像这样,

export name=aneirin

这样在该虚拟环境下运行的脚本就可以读取到定义在”activate“文件中的变量”name“。不过要记得退出Python虚拟环境时要清除这些变量,可以在文件”activate“中的函数”deactivate“加入下面内容:

deactivate () {  unset name  ......}
保存凭据在”.env“文件中

使用这种方法,需要安装第三方模块dotenv,使用下面命令安装,

python3 -m pip install python-dotenv

在工程的根目录,创建隐藏文件”.env“,将脚本要用到的敏感数据都定义在这个文件中,然后限制好这个文件的权限,其他无关人员不要赋予任何权限。下面是一个env文件的示例,

username="xufu"password="verysecure"

这样Python脚本中可以这样访问变量,

from dotenv import load_dotenvimport os load_dotenv()print(os.environ.get('username'))print(os.environ.get('password'))'''xufupassword'''

总结

上面介绍的三种方法都有其优缺点,如果有更好的方法,期待你的分享!

标签: #python环境未激活