в Python, как отправить значение переменной по электронной почте - PullRequest
0 голосов
/ 15 марта 2012

В скрипте Python есть переменная x, я хочу отправить значение x по электронной почте. Мой код

s=smtplib.SMTP('locaolhost')
s.sendmail(FROM, TO, "the answer is x")

Но я всегда получал сообщение the answer is x вместо x, являющееся реальным значением. Как это решить?

Ответы [ 4 ]

5 голосов
/ 15 марта 2012

Здесь вы можете использовать конкатенацию строк, как и везде.

s.sendmail(FROM, TO, "the answer is " + x)

Или вы можете использовать синтаксис формата печати:

s.sendmail(FROM, TO, "the answer is {}".format(x))

Подробнее: http://docs.python.org/tutorial/inputoutput.html#fancier-output-formatting

3 голосов
/ 15 марта 2012
s.sendmail(FROM, TO, "the answer is " + str(x))

Сначала вы конвертируете значение x в строку как str(x), затем добавляете str(x) к концу строки "the answer is " как +.

1 голос
/ 15 марта 2012

Ваша строка sendmail должна быть такой:

s.sendmail(FROM, TO, "The answer is "+x)
1 голос
/ 15 марта 2012
s=smtplib.SMTP('localhost')
s.sendmail(FROM, TO, "the answer is %s" % x) # here is the change

Вы забыли форматер% s в вашей строке!

Итак:

x = 'hello world'
s.sendmail(FROM, TO, "the answer is x")

Выход: the answer is x

А:

x = 'hello world'
s.sendmail(FROM, TO, "the answer is %s" % x)

Выход: the answer is hello world

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...