赞
踩
在开发过程中,我们总有一些数据不想被公开,例如 API 密钥、API 密码、数据库名称等。程序员存储这些需要被隐藏的数据时其中一种方式就是使用环境变量。在本文中,您将了解在 Python 中使用环境变量所需的一切知识。我们将向您展示如何设置 Python 环境变量、如何获取环境变量,以及保护您数据的不同方法。
环境变量是指你存储在程序外部的变量,这些变量会影响程序的运行。例如,你可以设置包含 API 密钥和密码的环境变量。当程序连接到 API 时,就会使用这些变量。将密码存储在环境而不是源代码中,这样做有几个好处:
从本质上讲,环境变量允许你在不改变程序本身的情况下改变程序的行为。你可以在操作系统中存储环境变量,但还有其他方法可以使用环境变量,我们在本文中会详细介绍。
在 Python 中,您可以使用内置的 os 模块获取和设置环境变量。保存以下代码,然后运行此 Python 程序,就可以查看程序中的所有环境变量:
import os
print(os.environ)
运行这段代码时,您的 Python 解释器应该会打印出操作系统的所有环境变量。您可以像访问 Python 字典一样访问 os.environ
中的不同环境变量。下面是用 Python 获取环境变量的两种方法:
import os
print(os.environ['USER'])
print(os.environ.get('USER'))
上面代码中的最后两行做了同样的事情:都从操作系统中获取 USER
环境变量。然而,当您使用第一种方法时,Python 如果找不到变量,就会抛出异常。好的做法是,如果 Python 应用程序需要运行环境变量,则使用 os.environ[‘MY_ENVIRONMENT_VARIABLE’];如果环境变量是可选的,则使用 os.environ.get(‘MY_ENVIRONMENT_VARIABLE’)。其实看到这里也明白了,就是和字典的操作是一样的,使用 get
方法通过 key 获取 value。
要在 Python 中设置环境变量,可以像使用字典一样将它们添加到 os.environ
对象中。不过,只允许使用字符串,因为这些字符串会直接传递给解释器运行的 shell。
os.environ['USER'] = 'New User'
要更新环境变量,只需以完全相同的方式覆盖它:
os.environ['USER'] = 'Modified User'
您可能出于不同的原因需要存储环境变量,因此也有不同的存储方法。有时,您只需要在本地机器上设置一些内容,而在其他情况下,您可能需要在生产环境中运行应用程序。
下面,我们将向您展示 Python 环境变量的两种基本存储方式:
有时,如果只想快速设置某个变量,就不想通过 Python 创建环境变量。幸运的是,这可以通过命令行来完成。我在这里举的例子适用于类 Unix 系统(Mac、Linux 等),但如果您使用的是 Windows,您可以在本教程中学习如何获取和设置环境变量。
在前面的例子中,USER 是操作系统设置的环境变量,代表谁在使用你的电脑。虽然操作系统会自动创建这个变量,但你也可以创建自己的环境变量。
打开命令行并键入以下命令(在类 Unix 系统中),即可在命令行中查看所有环境变量:
export
这样就能列出命令行 shell 可以访问的所有环境变量。
下面介绍如何在命令行中创建环境变量:
export VONAGE_API=your_api
这会创建一个名为 VONAGE_API
的变量,并将其值设置为 your_api
。您可以像这样打印任何变量的值:
echo $VONAGE_API
运行上述代码后,您将看到 your_api 的输出。
当您使用终端/命令行创建新的环境变量时,它仅针对该会话存在。当您关闭终端时,环境变量不再存在。通常,在编程时,您希望环境变量持久存在,以便每次运行代码时都可以使用它们。实现此目的的一种方法是将它们存储在文件中:例如.env
文件。让我们创建一个示例项目来演示如何使用 .env
文件来存储环境变量。
首先,使用终端为本教程创建一个新文件夹,移入其中并 .env
在其中创建一个文件:
mkdir env_variables_tutorial
cd env_variables_tutorial
touch .env
添加这行字符串到 .env
文件:
VONAGE_API=your_api
现在,我们已准备好设置此环境变量以与 Python 一起使用。为此,我们将使用开源 python-dotenv 包。首先,创建并激活 Python 虚拟环境,以便项目依赖项保持隔离,并且不会干扰系统上的其他 Python 安装。在你的终端中,写下以下内容:
python3 -m venv venv. ./venv/bin/activate
现在我们进入了Python虚拟环境,我们可以安装我们需要的包。
pip install python-dotenv
现在,我们可以使用 dotenv 此包中的模块将环境变量从 .env
文件加载到 Python 可以通过该 os
模块访问的环境中。创建一个包含以下内容的 Python 文件:
from dotenv import load_dotenv
import os
load_dotenv()
print(os.environ['VONAGE_API'])
该 load_dotenv
函数将文件中的环境变量 .env
引入 os.environ
,然后可以像操作系统设置的任何其他环境变量一样使用它。
以上就是“一文搞懂 Python 中的环境变量”的全部内容,希望对你有所帮助。
关于Python技术储备
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python必备开发工具
三、Python视频合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
四、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、Python练习题
检查学习结果。
六、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
最后祝大家天天进步!!
上面这份完整版的Python全套学习资料已经上传至CSDN官方,朋友如果需要可以直接微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。