【问题标题】:no bool object but traceback says: 'bool' object is not callable没有布尔对象,但回溯说:“布尔”对象不可调用
【发布时间】:2019-06-10 16:57:22
【问题描述】:

这个问题是因为行:mail = outlook.CreateItem(0)? 我想在 python 的 for 循环中发送 n 封电子邮件。

for aaa in jira.search_issues(JQL,startAt=0, maxResults=50):
    print(aaa)
    try:
        tworca = (jira.issue(aaa).fields.creator.name)
        przypisany =(jira.issue(aaa).fields.assignee.name)
        import win32com.client as win32
        outlook = win32.Dispatch('outlook.application')
        mail = outlook.CreateItem(0)
        mail.To = tworca + ';' + przypisany
        mail.Subject = 'blablabla'
        mail.Body = 'Message body'
        mail.send()
        print ("OK!")
    except Exception as e:
        print("ERROR: " + str(e))

print ("done!")

追溯:

Traceback (most recent call last):
  File "C:\xxx\xxx\xxx\xxx.py", line 12, in <module>
    mail.send()
TypeError: 'bool' object is not callable

【问题讨论】:

  • 最简单的解释是mail.send实际上是一个bool对象。你检查过它的type()吗?
  • 看来outlook.CreateItem 返回一个布尔值
  • 不,mail.send 是布尔值。
  • mail.send 很重要。你知道如何修改我的脚本吗?

标签: python outlook jira-rest-api


【解决方案1】:

您正在寻找mail.Send()mail.send 是一个 bool 对象。

记住 Python 区分大小写。

查看相关:Send Outlook Email Via Python?

另一个提示:不要假设您的代码是如何工作的,例如“没有bool 对象”。追溯永远不会出错,它是告诉您应该从哪里开始调查的最佳起点。这可能是一个错字或简单的属性误用。 在这种情况下,很明显解释器告诉您mail.send 不是您所期望的。

【讨论】:

    【解决方案2】:

    我遇到了和你一样的错误:

    mail.send() TypeError: 'bool' object is not callable"。

    我把mail.send()的代码改成了mail.send,问题就解决了。

    【讨论】:

    • 欢迎加入。请记住,正确的大小写、语法、拼写等很重要。您可以通过导航栏上的链接在帮助部分阅读有关帖子 SO 指南的更多详细信息。也请使用markdown(或编辑菜单)来格式化代码和错误消息。期待看到您的更多贡献。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-24
    • 2016-09-23
    • 2018-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-14
    相关资源
    最近更新 更多