-1

我正在尝试用 Python 编写一个程序,以使用 Twitter 自动使用用户的姓名和电子邮件填充电子邮件。这是我试图用来查找和替换关键字('$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 次。这是一个小例子,在这个例子中它随机替换了一个$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 回答