使用Python扩展字符串中的环境变量
我有一个字符串,里面包含一个环境变量,比如:
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中,有没有简单优雅的方法来做到这一点?
3 个回答
6
你可以使用一个叫做 Template
的东西:
from string import Template
import os
t = Template("$HOME/dir/dir2")
result = t.substitute(os.environ)
14
在编程中,有时候我们需要处理一些数据,比如从一个地方获取数据,然后把它放到另一个地方。这就像把水从一个杯子倒到另一个杯子一样。
有些时候,我们会遇到一些问题,比如数据格式不对,或者我们想要的数据没有被正确地获取到。这就像你想喝水,但杯子里却是果汁,这时候你就需要把果汁倒掉,重新装水。
在解决这些问题时,我们可以使用一些工具和方法来帮助我们。就像在厨房里,我们有刀、锅、碗等工具来帮助我们做饭一样。在编程中,这些工具和方法可以帮助我们更有效地处理数据。
总之,编程就像是在做一件事情,我们需要不断地调整和优化,确保每一步都能顺利进行。
import string, os
my_path = '$HOME/dir/dir2'
print string.Template(my_path).substitute(os.environ)
36