添加到路径,以便以后在同一脚本中与os.system或subprocess.Popen一起使用

2024-05-15 15:36:02 发布

您现在位置:Python中文网/ 问答频道 /正文

让我们假设"D:\Temp\Subfolder\mytest.exe"还不在路径中。我试过:

import os, sys, subprocess
sys.path.append("D:\Temp\Subfolder")           # 1
os.environ['PATH'] += "D:\Temp\Subfolder"      # 2

但在这两种情况下,这都失败了:

os.system('mytest')
subprocess.Popen('mytest')

问题:如何设置当前正在运行的进程的路径,以使os.systemsubprocess.Popen(或由导入的库调用的那些命令,这是我的用例)不会失败?

PS:我正在寻找一种不必使用Windows的GUI手动编辑环境变量的解决方案:控制面板>;系统>;高级系统设置>;环境变量>


Tags: pathimportgt路径os系统sys环境变量
1条回答
网友
1楼 · 发布于 2024-05-15 15:36:02

正如@Jay在评论中提到的,解决方案是:

os.environ['PATH'] += os.pathsep + r"D:\Temp\Subfolder"

(这假设环境变量PATH已经存在;在此之前检查一下可能会有用)

实际上,os.environ['PATH']是一个字符串,而不是一个列表(这是我最初的想法)

然后,两者:

os.system('mytest')
subprocess.Popen('mytest')

工作


注:以下各项均不适用:

sys.path.append(os.pathsep + "D:\Temp\Subfolder")
sys.path.append("D:\Temp\Subfolder")

相关问题 更多 >