在 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 方法分配一个新变量。

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


总结

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

相关推荐
该用户已不存在3 小时前
Mojo vs Python vs Rust: 2025年搞AI,该学哪个?
后端·python·rust
站大爷IP5 小时前
Java调用Python的5种实用方案:从简单到进阶的全场景解析
python
用户83562907805110 小时前
从手动编辑到代码生成:Python 助你高效创建 Word 文档
后端·python
c8i10 小时前
python中类的基本结构、特殊属性于MRO理解
python
liwulin050611 小时前
【ESP32-CAM】HELLO WORLD
python
Doris_202311 小时前
Python条件判断语句 if、elif 、else
前端·后端·python
Doris_202311 小时前
Python 模式匹配match case
前端·后端·python
这里有鱼汤12 小时前
Python量化实盘踩坑指南:分钟K线没处理好,小心直接亏钱!
后端·python·程序员
大模型真好玩12 小时前
深入浅出LangGraph AI Agent智能体开发教程(五)—LangGraph 数据分析助手智能体项目实战
人工智能·python·mcp
测试老哥12 小时前
Selenium 使用指南
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例