python 2.7 TypeError:一元+的错误操作数类型:'str'

时间:2015-04-26 16:15:04

标签: python python-2.7

这是我的代码

message = "From: %s\r\n" % fromaddr
        + "To: %s\r\n" % toaddrs
        + "CC: %s\r\n" % ",".join(cc)
        + "Subject: %s\r\n" % message_subject
        + "\r\n" 
        + msg

我收到此错误:

    + "To: %s\r\n" % toaddrs
TypeError: bad operand type for unary +: 'str'
你可以帮忙吗

1 个答案:

答案 0 :(得分:8)

要解决您的问题,请在父母身份中包装消息的整个表达式:

message = (
      "From: %s\r\n" % fromaddr
    + "To: %s\r\n" % toaddrs
    + "CC: %s\r\n" % ",".join(cc)
    + "Subject: %s\r\n" % message_subject
    + "\r\n" 
    + msg
)

python给出的错误消息非常有帮助。一元操作只有一个参数。 +可以在python中用作一元操作,

x = + 2

是有效的代码。您的代码段中发生的是第一行:

message = "From: %s\r\n" % fromaddr

被解释为完整的赋值语句。下一行开始一个新的陈述,但不完整。