【问题标题】:python 2.7 TypeError: bad operand type for unary +: 'str'python 2.7 TypeError:一元+的错误操作数类型:'str'
【发布时间】:2015-04-26 16:15:03
【问题描述】:

这是我的代码

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'

请你帮忙

【问题讨论】:

    标签: python python-2.7


    【解决方案1】:

    要解决您的问题,请将 message 的整个表达式用括号括起来:

    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
    

    是有效代码。你的 sn-p 发生了什么是第一行:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-03-28
      • 2021-01-15
      • 1970-01-01
      • 1970-01-01
      • 2021-03-17
      • 2014-01-02
      相关资源
      最近更新 更多