2011-03-10 6 views
16

Tengo una cadena que contiene una variable de entorno, p.Variable de entorno desplegable en cadena utilizando python

my_path = '$HOME/dir/dir2' 

quiero analizar la cadena, mirando hacia arriba la variable y su sustitución en la cadena:

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

así que debería ver la salida:

HOME = /home/user1 

PATH = /home/user1/dir/dir2 

¿Hay una manera elegante hacer eso en Python?

gracias!

Conor

Respuesta

23
+0

Gracias por eso, pensé que tenía que haber una simple orden para ello. – Conor

+0

@Conor: me alegro de que ayude :) – mouad

+0

Increíble. Pensé que iba a tener que implementarlo. –

2

Se puede usar un Template:

from string import Template 
import os 

t = Template("$HOME/dir/dir2") 
result = t.substitute(os.environ) 
8
import string, os 
my_path = '$HOME/dir/dir2' 
print string.Template(my_path).substitute(os.environ) 
Cuestiones relacionadas