如何将数据写入用户输入的模板。写入模板
例:
假设有一个名为C下template.txt
:,文件,内容为:因此,与raw_input
My Name is __________
I Am __ Years Old.
我得到了用户的输入,现在怎么我替换这些空白区域所以当从Windows打开文件时,它应该有名称和年龄代替那些下划线?
如何将数据写入用户输入的模板。写入模板
例:
假设有一个名为C下template.txt
:,文件,内容为:因此,与raw_input
My Name is __________
I Am __ Years Old.
我得到了用户的输入,现在怎么我替换这些空白区域所以当从Windows打开文件时,它应该有名称和年龄代替那些下划线?
如果文本
text = '''
My Name is __________
I Am __ Years Old.
'''
你可能想要做str.replace(下划线,realvaue)从最大的下划线开始与您要的值来代替它。
text = text.replace('__________', str(name)).replace('__', str(age))
这是一个非常脆弱的解决方案。 – Daenyth
我建议在看看jinja2这是我使用这种任务的所有时间一个很好的模板库。把你的模板文件中的以下内容:
My Name is {{ name }}
I Am {{ age }} Years Old.
然后,在可变name
和age
给你的用户输入,你可以将此到您的模板如下:
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的尺度非常好,因为它提供了一个很好的模板语言,您可以在其中执行诸如循环,条件语句和过滤器等操作。另外,您可以轻松定义自己的基本语言添加项。
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
@Subir有关Python中字符串格式化的问题[这里](http://stackoverflow.com/questions/1225637/python-string-formatting)。 –