Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Expanding Environment variable in string using python [duplicate]

Tags:

python

posix

I have a string containing an environment variable, e.g.

my_path = '$HOME/dir/dir2'

I want parse the string, looking up the variable and replacing it in the string:

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

So I should see the output:

HOME = /home/user1

PATH = /home/user1/dir/dir2

Is there an elegant way to do that in Python?

like image 835
Conor Avatar asked Mar 10 '11 10:03

Conor


2 Answers

Use : os.path.expandvars

like image 171
mouad Avatar answered Oct 19 '22 08:10

mouad


import string, os
my_path = '$HOME/dir/dir2'
print string.Template(my_path).substitute(os.environ)
like image 34
Sven Marnach Avatar answered Oct 19 '22 06:10

Sven Marnach