2012-01-17 92 views
15

我正在尝试用python写东西,但不知道如何正确使用它。在下面的代码中,我想读取obj.subject并将其放入var主题中,同时读取obj.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) 
+2

你可以显示示例输入('obj.subject'和'obj.body'以及'kwargs')和期望的输出吗?如果没有这些,很难说出你要问什么。 – dcrosta 2012-01-17 17:46:55

回答

17

我认为你在寻找这样的事情:

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) 
18

只是一个快速的音符为那些升级到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

+0

新的python和学习v3 ...这个笔记是非常有帮助的。 – Beege 2017-11-20 20:01:50