python 字符串替换 $

python 字符串替换 $
如果用string.Template来替换以$开头的变量,但是如果变量里出现了$A, $B, $AB这样的情况, 而且要实现自动寻找出变量并替换,应该怎么实现呢?

试试看将替换后生成的字符串再生成模板后再次替换


tmpl = string.Template(...)

string.Template(tmpl.safe_substitute(**kwg)).safe_substitute(**kwg)

#!/usr/bin/python
# encoding: utf-8
#
# filename: stringTemplateLearning.py
# author: Tim Wang
# 码裂date: June, 2013

import string

tmpl = string.Template("""
$app:
    home: $home
    data: $data
""")

kwgs = dict(
    app="App_Proj",
    home="/home/tim/project/$app",
    data="$home/data",
    )

context = tmpl.safe_substitute(kwgs)
while "$" in context:
    吵大tmpl = string.Template(context)
    context = tmpl.safe_substitute(kwgs)

print context

>python -u "stringTemplateLearning.py"

App_Proj:
    home: /home/tim/project/App_Proj
 升模竖   data: /home/tim/project/App_Proj/data

>Exit code: 0    Time: 0.044


← 上一篇: 下一篇: →