如何将数据写入用户输入的模板。
例如:
假设C:下有一个名为template.txt
的文件,内容为:
My Name is __________
I Am __ Years Old.
所以使用raw_input
我得到用户输入,现在如何替换那些空白区域,以便当从Windows打开文件时,它应该有名称和年龄代替那些下划线?
答案 0 :(得分:1)
我建议看看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可以很好地扩展,因为它提供了一个很好的模板语言,您可以在其中执行诸如循环,条件,过滤器等操作。此外,您可以非常轻松地定义自己对基本语言的添加。
答案 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