2012-01-17 12 views
15

私は物事をPythonの方法で書こうとしていますが、正しい方法を知りません。以下のコードでは、obj.subjectを読み込んでvar subjectに配置し、obj.bodyを読み込んでbodyに配置したいと考えています。まず、kwargs変数を読み込み、置換する文字列内のキーワードを検索します。存在しない場合は移動します。Pythonでkwargsをループする

誰でも手伝ってもらえますか? 3.は、Python 3ではそれはほぼ同じだ

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) 
+2

入力例( 'obj.subject'と' obj.body'と 'kwargs')と望ましい出力を表示できますか?それなしであなたが何を求めているのかは分かりません。 – dcrosta

答えて

17

は、私はあなたがこのような何かを探していると思います

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を有さない。

18

だけで簡単なメモこれらのアップグレードのための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) 
+0

pythonの初心者で、v3の学習...このメモは非常に役立ちました。 – Beege