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

标签 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'

请你帮忙

最佳答案

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

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

关于 python 2.7类型错误: bad operand type for unary +: 'str' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29880136/

相关文章:

python - TextBlob,完全不准确

Python 文件重命名

python - 使用Python使用网站的搜索功能

python - 如何使用 shelve 实现 Python 虚拟文件系统

python - 在 Python 中添加到本地命名空间?

python - 使用 py2exe 的 scipy 脚本

python - 计算数据框列的最小值、最大值和平均值

python - Popen对象后是否需要调用Popen.wait()到 "clean up"?

python - 避免重复输入错误

Python subprocess.Popen() - 子进程导致套接字保持打开状态