-1

Twitter を使用しているユーザーの名前と電子メールを電子メールに自動的に入力するプログラムを Python で作成しようとしています。これは、キーワード (「$NAME」、「$EMAIL」など) を見つけて置き換えるために使用しようとしている定義です。

def modifyEmail():
    email = open(destinationTitle, 'r+')
    for line in email:
        email.write(line.replace('$NAME',account.name))
        email.write(line.replace('$EMAIL',email))
        email.write(line.replace('$USRNAME',targetHandle))
        email.write(line.replace('$PROFILEIMG',account.profile_image_url))
        email.write(line.replace('$PROFILEURL',account.url))
    return

私は python-twitter ラッパーを使用しており、ユーザーはメールアドレスと Twitter ユーザー名を入力しますが、写真、URL、および名前は Twitter アカウントから取り出されます (したがって、account.name、account.url など)。

destinationTitle由来は次のとおりです。

destinationTitle = str("emails/"+account.name+" - Generated Spear.emlx")
shutil.copy('email.emlx', destinationTitle)
modifyEmail()

私が抱えている問題は、$ 単語を正しい値に置き換えていないことですが、メールの下半分を 5 回複製しているという奇妙なことを下部で行っていることです。これの小さな例を次に示します。この例では、1 つの $EMAIL がランダムに置き換えられましたが、その理由がわかりません! (テスト用に Twitter のメールを使用しています):

[...]
From: Twitter <password@twitter.com>
From: Twitter <password@twitter.com>
From: Twitter <password@twitter.com>
To: Adam <$EMAIL>
To: $NAME <me@adam.com>
To: $NAME <$EMAIL>
To: $NAME <$EMAIL>
To: $NAME <$EMAIL>
Subject: Reactivate your Twitter account
Subject: Reactivate your Twitter account
Subject: Reactivate your Twitter account
Subject: Reactivate your Twitter account
Subject: Reactivate your Twitter account
MIME-Version: 1.0
MIME-Version: 1.0
MIME-Version: 1.0
[...]
4

1 に答える 1

1

あなたが探しているのはテンプレートエンジンです。ここ Python wikiには、多くのオプションがあります。Mako と Jinja2 はよく知られています。

于 2014-04-21T13:02:06.983 に答える