在下面的代码中,我想阅读obj.subject
并将其放入var subject,
,同时阅读obj.body
并将其放入body
。首先,我想阅读kwargs
变量,并在字符串中搜索要替换的关键字,如果不存在,则继续。
如何在Python中迭代kwargs
?
for key in kwargs:
subject = str(obj.subject).replace('[%s]' % upper(key), kwargs[key])
for key in kwargs:
body = str(obj.body).replace('[%s]' % upper(key), kwargs[key])
return (subject, body, obj.is_html)
答案 0 :(得分:27)
对于Python 3用户:
您可以使用kwargs
.items()
subject = obj.subject
body = obj.body
for key, value in kwargs.items():
subject = subject.replace('[%s]' % key.toupper(), value)
body = body.replace('[%s]' % key.toupper(), value)
return (subject, body, obj.is_html)
对于Python 2用户:
您可以使用kwargs
:
.iteritems()
subject = obj.subject
body = obj.body
for key, value in kwargs.iteritems():
subject = subject.replace('[%s]' % key.toupper(), value)
body = body.replace('[%s]' % key.toupper(), value)
return (subject, body, obj.is_html)
答案 1 :(得分:20)
快速注释那些升级到Python 3的人。
在Python 3中,它几乎相同:
subject = obj.subject
body = obj.body
for key, value in kwargs.items():
subject = subject.replace('[{0}]'.format(key.toupper()), value)
body = body.replace('[{0}]'.format(key.toupper()), value)
return (subject, body, obj.is_html)
请注意,iteritems()
变为items()
,因为dict
不再使用方法iteritems
。
答案 2 :(得分:0)