2012-01-17 95 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