在下面的代码中,我想阅读obj.subject并将其放入var subject,也读取obj.body并放入body.首先,我想读取kwargs变量并在字符串中搜索要替换的关键字,如果不存在则继续.
我怎样才能kwargs在Python中进行迭代?
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)
Run Code Online (Sandbox Code Playgroud)
jte*_*ace 31
对于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)
Run Code Online (Sandbox Code Playgroud)
对于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)
Run Code Online (Sandbox Code Playgroud)
oli*_*eal 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)
Run Code Online (Sandbox Code Playgroud)
请注意,iteritems()变成items()为dict不再有方法iteritems.