Skip to main content
 首页 » 编程设计

python 2.7类型错误: bad operand type for unary +: 'str'

2025年05月04日23落叶

这是我的代码

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' 

请你帮忙

请您参考如下方法:

要解决您的问题,请将 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 

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

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

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