Расширение переменной среды в строке с использованием Python - PullRequest
19 голосов
/ 10 марта 2011

У меня есть строка, содержащая переменную окружения, например,

my_path = '$HOME/dir/dir2'

Я хочу проанализировать строку, найти переменную и заменить ее в строке:

print "HOME =",os.environ['HOME']
my_expanded_path = parse_string(my_path)
print "PATH =", my_expanded_path

Итак, ядолжен увидеть результат:

HOME = /home/user1

PATH = /home/user1/dir/dir2

Есть ли элегантный способ сделать это в Python?

спасибо!

Conor

Ответы [ 3 ]

26 голосов
/ 10 марта 2011

Использование: os.path.expandvars

8 голосов
/ 10 марта 2011
import string, os
my_path = '$HOME/dir/dir2'
print string.Template(my_path).substitute(os.environ)
3 голосов
/ 10 марта 2011

Вы можете использовать Template:

from string import Template
import os

t = Template("$HOME/dir/dir2")
result = t.substitute(os.environ)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...