Python: независимый от платформы способ изменения переменной среды PATH
есть ли способ изменить PATH
переменная окружения независимым от платформы способом с использованием python?
что-то похожее на os.path.join()
?
3 ответа:
вы должны быть в состоянии изменить
os.environ
.С
os.pathsep
это символ для разделения различных путей, вы должны использовать это, чтобы добавить каждый новый путь:os.environ["PATH"] += os.pathsep + path
или, если есть несколько путей, чтобы добавить в список:
os.environ["PATH"] += os.pathsep + os.pathsep.join(pathlist)
как вы сказали,
os.path.join
также может использоваться для каждого отдельного пути, вы должны добавить в случае, если вы должны построить их из отдельных частей.
обратите внимание:
os.environ
на самом деле не словарь. Это специальный словарь-как объект, который фактически устанавливает переменные среды в текущем процессе с помощью setenv.>>> os.environ.__class__ <class os._Environ at 0x100472050> >>> import os >>> os.environ["HELLO"] = "WORLD" >>> os.getenv("HELLO") 'WORLD'
Это означает, что
PATH
(и другие переменные среды) будет быть видимым для кода C, выполняемого в том же процессе.(поскольку комментарии не могут содержать форматирование, я должен поместить это в ответ, но я чувствую, что это важно точку, чтобы сделать. Это действительно комментарий комментарий о том, что нет эквивалента "экспорт".)