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

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


总结

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

相关推荐
ValhallaCoder5 小时前
hot100-二叉树I
数据结构·python·算法·二叉树
猫头虎5 小时前
如何排查并解决项目启动时报错Error encountered while processing: java.io.IOException: closed 的问题
java·开发语言·jvm·spring boot·python·开源·maven
八零后琐话6 小时前
干货:程序员必备性能分析工具——Arthas火焰图
开发语言·python
青春不朽5127 小时前
Scrapy框架入门指南
python·scrapy
AI袋鼠帝7 小时前
Claude4.5+Gemini3 接管电脑桌面,这回是真无敌了..
人工智能·windows·aigc
MZ_ZXD0018 小时前
springboot旅游信息管理系统-计算机毕业设计源码21675
java·c++·vue.js·spring boot·python·django·php
wfserial8 小时前
c#使用微软自带speech选择男声仍然是女声的一种原因
microsoft·c#·speech
獨枭8 小时前
Windows 下安装与使用 Miniconda 完整指南
windows
全栈老石8 小时前
Python 异步生存手册:给被 JS async/await 宠坏的全栈工程师
后端·python