python脚本修改windows环境变量后打印结果显示没有修改
时间: 2023-07-28 19:58:42 浏览: 53
在 Windows 中修改环境变量需要注意,需要在修改后重新启动命令行窗口才能看到修改的结果。如果你在 Python 脚本中修改了环境变量,但是在运行脚本后直接在同一个命令行窗口中执行 `echo %ENV_VAR%`(其中 `ENV_VAR` 是你修改的环境变量名),那么你看到的结果可能是没有修改的。这是因为当前的命令行窗口并没有加载你修改后的环境变量。
为了查看你修改后的环境变量,你需要关闭当前的命令行窗口,重新打开一个新的命令行窗口,然后在新的命令行窗口中执行 `echo %ENV_VAR%` 命令。这时你应该能看到你修改后的环境变量值了。
如果你不想关闭当前的命令行窗口,可以在 Python 脚本中使用 `os.system('cmd /c "setx ENV_VAR value"')` 命令来设置环境变量。这个命令会在当前命令行窗口中执行一个新的命令行窗口,然后在新的命令行窗口中执行设置环境变量的操作,这样就可以立即看到修改后的结果。
相关问题
python脚本修改windows环境变量后立即生效
在 Windows 操作系统中,修改环境变量后需要重新打开命令行窗口或者重新启动计算机才能使修改生效。如果想要在 Python 脚本中实现修改环境变量后立即生效的功能,可以使用以下方法:
1. 使用 `os.environ` 对象修改环境变量,并且使用 `ctypes` 模块调用 `SendMessage` API 发送消息给 Windows Explorer 进程,通知它更新环境变量。示例代码如下:
```
import os
import ctypes
# 修改环境变量 PATH
new_path = os.environ['PATH'] + ';C:\\NewFolder'
os.environ['PATH'] = new_path
# 发送消息给 Windows Explorer 进程,通知它更新环境变量
HWND_BROADCAST = 0xFFFF
WM_SETTINGCHANGE = 0x1A
SMTO_ABORTIFHUNG = 0x0002
result = ctypes.windll.user32.SendMessageTimeoutW(
HWND_BROADCAST,
WM_SETTINGCHANGE,
0,
'Environment',
SMTO_ABORTIFHUNG,
5000,
None
)
if result == 0:
print('Failed to update environment variables')
else:
print('Environment variables updated successfully')
```
在代码中,首先使用 `os.environ` 对象修改环境变量 PATH,然后使用 `ctypes` 模块调用 `SendMessage` API 发送消息给 Windows Explorer 进程,通知它更新环境变量。如果更新成功,`SendMessage` API 将返回一个非零值,否则返回零。
2. 使用 `winreg` 模块修改系统注册表中的环境变量,并且使用 `win32api` 模块调用 `SendMessage` API 发送消息给 Windows Explorer 进程,通知它更新环境变量。示例代码如下:
```
import winreg
import win32api
# 修改环境变量 PATH
with winreg.ConnectRegistry(None, winreg.HKEY_LOCAL_MACHINE) as hkey:
with winreg.OpenKeyEx(hkey, r'SYSTEM\CurrentControlSet\Control\Session Manager\Environment', 0, winreg.KEY_WRITE) as key:
new_path = winreg.QueryValueEx(key, 'PATH')[0] + ';C:\\NewFolder'
winreg.SetValueEx(key, 'PATH', 0, winreg.REG_EXPAND_SZ, new_path)
# 发送消息给 Windows Explorer 进程,通知它更新环境变量
HWND_BROADCAST = 0xFFFF
WM_SETTINGCHANGE = 0x1A
SMTO_ABORTIFHUNG = 0x0002
result = win32api.SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, 0, 'Environment', SMTO_ABORTIFHUNG, 5000)
if result == 0:
print('Failed to update environment variables')
else:
print('Environment variables updated successfully')
```
在代码中,首先使用 `winreg` 模块修改系统注册表中的环境变量 PATH,然后使用 `win32api` 模块调用 `SendMessage` API 发送消息给 Windows Explorer 进程,通知它更新环境变量。如果更新成功,`SendMessage` API 将返回一个非零值,否则返回零。
Windows 安装python后如何设置环境变量
在 Windows 中安装 Python 后,需要将其添加到系统的环境变量中,这样您就可以在命令行中直接运行 Python 解释器以及其他 Python 工具了。以下是设置环境变量的步骤:
1. 打开“控制面板”,点击“系统和安全”。
2. 点击“系统”,然后点击“高级系统设置”。
3. 在“系统属性”窗口中,点击“环境变量”。
4. 在“系统变量”区域中,找到“Path”变量,然后点击“编辑”。
5. 在“编辑环境变量”窗口中,点击“新建”。
6. 输入以下路径:C:\PythonXX\,其中“XX”为您安装的 Python 版本号。
7. 点击“确定”保存更改。
现在,您已经成功将 Python 添加到系统的环境变量中了。可以在命令行中输入“python”命令验证是否已成功安装。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)