在 Python 脚本中设置环境变量

环境变量是与系统进程交互的一种深入方式; 它允许用户获得有关系统属性、路径和已经存在的变量的更详细信息。


我们如何使用环境变量

如上所述,环境变量促使我们与系统进程进行交互。 我们可以使用环境变量来访问系统中的所有变量和键。

为此,让我们创建一个新文件,将其命名为 new.py 并输入以下代码:

new.py:

python 复制代码
import os

print("The keys and values of all environment variables:")
for key in os.environ:
    print(key, '=>', os.environ[key])

您将在终端中看到打印出的所有变量和键。

我们还可以查看特定的变量。 为此,创建一个新的 Python 文件并输入以下代码:

new.py:

python 复制代码
import os

print("The value of HOME is: ", os.environ['USERPROFILE'])

这将打印出系统的 HOME 路径。

我们还可以通过环境变量来定位我们在系统中安装的所有程序的路径。 这有利于我们准确定位已安装程序的文件位置。

为此,我们创建另一个文件 new.py,并输入以下代码片段:

new.py:

python 复制代码
import os

print("Set Environment Variables: ", os.environ['PATH'])

您将看到我们在终端中安装的程序的所有文件位置。

环境变量还提供了一种安全无缝的方式来保护我们在 API 中使用的令牌/访问密钥。 当我们将密钥放在 .env 文件中时,它会隐藏我们的密钥,不让查看我们代码的人看到,然后它还可以帮助我们在需要应用的任何地方使用密钥,而无需继续重新定义它们。

所有需要做的就是创建一个令牌并将其输入到 .env 文件中。


在 Python 中设置环境变量

除此之外,我们可以访问系统中的所有路径和环境变量; 我们可以更进一步,使用两种方法设置我们的变量,即:os.environ 和 os.environ.setdefault 方法。


使用 os.environ 方法设置环境变量

os.environ 方法可以创建一个新变量并赋值。 为此,我们将创建一个新文件,将其命名为 new.py 并输入以下代码:

new.py:

python 复制代码
import os
os.environ["USERNAME"] = "python"

print(os.environ["USERNAME"])

当我们运行它时,我们将在终端中看到 python 显示。

此外,我们可以使用 os.environ 方法更改分配给变量的值。 为此,我们将创建一个新文件,将其命名为 new.py 并输入以下代码:

new.py:

python 复制代码
import os

home = os.environ['USERNAME']
print("USERNAME:", home)

在我们的例子中,这个片段将显示分配给变量 HP 的原始值。 现在要为变量分配一个新值,我们将创建一个新文件,将其命名为 new2.py 并分配这些代码:

new2.py:

python 复制代码
import os

os.environ['USERNAME'] = 'USER'
print("USERNAME:", os.environ['USERNAME'])

在这里,我们为变量分配了一个新值 USER。 当我们运行代码时,终端将显示新分配的值 USER。


使用 os.environ.setdefault 方法设置环境变量

os.environ.setdefault 方法和 os.environ 方法一样,可以创建一个新变量并赋值。

创建一个新文件,将其命名为 new.py 并输入以下代码:

new.py:

python 复制代码
import os

if not os.environ.get("USERNAME"):
    os.environ.setdefault("USERNAME","1")
else:
     os.environ["USERNAME"] = "1"
print(os.environ["USERNAME"])

我们使用 os.environ.get 方法获取变量,然后我们使用 os.environ.setdefault 方法分配一个新变量。

当我们运行这段代码时,我们将看到终端中显示的新值。


总结

如果您打算了解计算机系统的来龙去脉,那么利用环境变量就是一种方法。

相关推荐
LuckyTHP2 小时前
java 使用zxing生成条形码(可自定义文字位置、边框样式)
java·开发语言·python
mahuifa4 小时前
(7)python开发经验
python·qt·pyside6·开发经验
学地理的小胖砸5 小时前
【Python 操作 MySQL 数据库】
数据库·python·mysql
安迪小宝5 小时前
6 任务路由与负载均衡
运维·python·celery
Blossom.1185 小时前
使用Python实现简单的人工智能聊天机器人
开发语言·人工智能·python·低代码·数据挖掘·机器人·云计算
lisw055 小时前
Python高级进阶:Vim与Vi使用指南
python·vim·excel
ayiya_Oese5 小时前
[模型部署] 3. 性能优化
人工智能·python·深度学习·神经网络·机器学习·性能优化
SoraLuna5 小时前
「Mac畅玩AIGC与多模态40」开发篇35 - 用 Python 开发服务对接 SearxNG 与本地知识库
python·macos·aigc
noravinsc6 小时前
redis是内存级缓存吗
后端·python·django
王学政26 小时前
LlamaIndex 第九篇 Indexing索引
人工智能·python