我的代码是一个电子邮件代码,用于通过电子邮件发送生成号码
msg = ('The number is',random.randrange(300,400),'Enjoy')
但我收到此错误:
Traceback (most recent call last):
line 30, in <module>
server.sendmail(fromaddr, toaddrs, msg)
File "C:\Python34\lib\smtplib.py", line 793, in sendmail
(code, resp) = self.data(msg)
File "C:\Python34\lib\smtplib.py", line 532, in data
q = _quote_periods(msg)
File "C:\Python34\lib\smtplib.py", line 168, in _quote_periods
return re.sub(br'(?m)^\.', b'..', bindata)
File "C:\Python34\lib\re.py", line 175, in sub
return _compile(pattern, flags).sub(repl, string, count)
TypeError: expected string or buffer
最佳答案
你的消息是一个元组,你可以使用字符串的format()
来定义消息:
>>> import random
>>> msg = ('The number is',random.randrange(300,400),'Enjoy')
>>> print msg
('The number is', 300, 'Enjoy')
>>> msg = 'The number is {0}, Enjoy'.format(random.randrange(300, 400))
>>> msg
'The number is 325, Enjoy'
关于python - 我正在尝试通过电子邮件发送随机数,但我不断收到错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28262580/