📅  最后修改于: 2023-12-03 15:07:46.405000             🧑  作者: Mango
环境变量是一种系统级数据,可用于配置应用程序的各种参数、路径和其他特性。在 Python 中,我们可以使用 os
模块来访问和修改环境变量。本文将向您介绍如何在 Python 中创建环境变量。
在 Python 中,我们可以使用 os.getenv()
函数来检查一个环境变量是否已经存在。该函数接受一个环境变量名称作为参数,并返回变量的值。如果变量不存在,则返回 None
。
import os
var_name = 'MY_VAR'
# 如果 MY_VAR 存在则返回其值,否则返回 None
var_value = os.getenv(var_name)
if var_value is None:
print(f'{var_name} 环境变量未设置')
else:
print(f'{var_name} 环境变量的值为: {var_value}')
在 Python 中,我们可以使用 os.environ
字典对象来访问和修改环境变量。该字典对象包含了当前环境中所有的环境变量,你可以使用索引访问或者将值赋给变量。如果你修改了字典中的值,则相应的环境变量也会被修改。
import os
var_name = 'MY_VAR'
var_value = 'my value'
# 创建一个名为 MY_VAR 的环境变量
os.environ[var_name] = var_value
# 检查环境变量是否设置成功
if os.getenv(var_name) == var_value:
print(f'创建名为 {var_name} 的环境变量成功!')
如果你想在系统重启后仍然可以访问到你的环境变量,你需要将其存储到系统环境变量中。在 Windows 或 Linux 中,你可以使用不同的方法来实现此目的。这里我们将演示如何在 Windows 中将环境变量写入系统注册表。
首先,我们需要导入 winreg
模块,它指定了在 Windows 中访问系统注册表的函数和常量。
import winreg
然后,我们需要将环境变量写入到系统注册表中。在 Windows 中,环境变量存储在以下键值中:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
:存储全局环境变量。HKEY_CURRENT_USER\Environment
:存储当前用户的环境变量。我们将使用 winreg.OpenKey()
函数打开上述键值,然后使用 winreg.SetValueEx()
函数将环境变量写入到注册表中。
import winreg
var_name = 'MY_VAR'
var_value = 'my value'
# 打开全局环境变量键值
env_path = r'SYSTEM\CurrentControlSet\Control\Session Manager\Environment'
with winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, env_path, 0, winreg.KEY_SET_VALUE) as env_key:
# 写入变量值
winreg.SetValueEx(env_key, var_name, 0, winreg.REG_SZ, var_value)
# 刷新环境变量
winreg.SendMessage(winreg.HWND_BROADCAST, winreg.WM_SETTINGCHANGE, 0, 'Environment')
如果你想将环境变量保存到当前用户的环境变量中,你可以使用以下代码:
import winreg
var_name = 'MY_VAR'
var_value = 'my value'
# 打开当前用户的环境变量键值
env_path = r'Environment'
with winreg.OpenKey(winreg.HKEY_CURRENT_USER, env_path, 0, winreg.KEY_ALL_ACCESS) as env_key:
# 写入变量值
winreg.SetValueEx(env_key, var_name, 0, winreg.REG_SZ, var_value)
# 刷新环境变量
winreg.SendMessage(winreg.HWND_BROADCAST, winreg.WM_SETTINGCHANGE, 0, 'Environment')
现在,无论是在 Windows 还是 Linux 中,你都已经学会如何在 Python 中创建环境变量了。