写入模板

时间:2012-05-08 20:27:15

标签: python

如何将数据写入用户输入的模板。

例如:

假设C:下有一个名为template.txt的文件,内容为:

My Name is __________
I Am __ Years Old.

所以使用raw_input我得到用户输入,现在如何替换那些空白区域,以便当从Windows打开文件时,它应该有名称和年龄代替那些下划线?

3 个答案:

答案 0 :(得分:1)

我建议看看jinja2这是一个非常好的模板库,我一直用于这种任务。将以下内容放在模板文件中:

My Name is {{ name }}
I Am {{ age }} Years Old.

然后,根据您在变量nameage中的用户输入,您可以将其应用于模板,如下所示:

from jinja2 import Environment, FileSystemLoader
env = Environment(loader=FileSystemLoader('/path/to/your/template/directory'))

template = env.get_template('template.txt')
print template.render(name=name,
                      age=age)

我发现jinja2可以很好地扩展,因为它提供了一个很好的模板语言,您可以在其中执行诸如循环,条件,过滤器等操作。此外,您可以非常轻松地定义自己对基本语言的添加。

答案 1 :(得分:0)

如果文字是

text = '''
My Name is __________
I Am __ Years Old.
'''

您可能希望从最大的下划线开始执行str.replace(下划线,realvaue),将其替换为您想要的值。

text = text.replace('__________', str(name)).replace('__', str(age))

答案 2 :(得分:0)

name = raw_input('Hook me up with your name brah\n')
age = raw_input('Aight, now how many years young are you?\n')

print 'Old enough to party eh?'

template = "Do your own homework, {name:_^10}\nYou are {age:_^2} years old man"\
      .format(name=name, age=age)

print template