有,哦,有这么多的方式来做到这一点。绝对最简单的一个,我能想到的是:
TEMPLATE = "My name is {name}\nI am {age} years old."
for name, age in [("Tom", 20), ("Tim", 30), ("Tina", 40)]:
print TEMPLATE.format(name=name, age=age)
输出:
My name is Tom
I am 20 years old.
My name is Tim
I am 30 years old.
My name is Tinakughjkjgjkhg
I am 40 years old.
该解决方案必将为您得到更详细的模板尽快变得复杂和丑陋。第一个“移动”,可到Python template strings(例如,从文档):
>>> from string import Template
>>> s = Template('$who likes $what')
>>> s.substitute(who='tim', what='kung pao')
'tim likes kung pao'
>>> d = dict(who='tim')
>>> Template('Give $who $100').substitute(d)
Traceback (most recent call last):
[...]
ValueError: Invalid placeholder in string: line 1, col 10
>>> Template('$who likes $what').substitute(d)
Traceback (most recent call last):
[...]
KeyError: 'what'
>>> Template('$who likes $what').safe_substitute(d)
'tim likes $what'
但真正的解决方案,就我而言,是使用模板引擎:Jinja2会做的伎俩。
>>> from jinja2 import Template
>>> template = Template('Hello {{ name }}!')
>>> template.render(name='John Doe')
u'Hello John Doe!'
因此,如何在程序应该处理从第一个文件的输入?只需用新名称和新时代的第一个号码替换硬编码的字符串“Ben”?说明不是很清楚,恕我直言。 – 2012-03-02 21:40:40