Python 3 .lower() 函数返回错误

Python 3 .lower() function returning error

我正在制作一个 Reddit 机器人(几乎无关紧要。),我正在尝试检查文本:[submission] 是否在 Subreddit 中任何提交的标题中。

这是我的代码:(我已经设置了所有的令牌、秘密和东西,还有一个 subreddit。)

for submission in reddit.subreddit("MinecraftCommandJam").new():
    lowercaseT = str(submission.title()).lower()
    if '[submission]' in lowercaseT:
        print(submission.title)

但是当我运行代码时,出现这个错误(python 3)

Traceback (most recent call last):
  File "c:\Users\hjdom\reddit_bot_mcj\reddit_bot.py", line 42, in <module>
    lowercaseT = str(submission.title()).lower()
TypeError: 'str' object is not callable
PS C:\Users\hjdom\reddit_bot_mcj> 

请始终提供 minimal, reproducible example 以便我们可以复制-粘贴-调整您的代码并为您提供帮助。

通过谷歌搜索,我发现 praw.models.Submission 个对象有一个 .title 属性,一个 str。所以错误TypeError: 'str' object is not callable不是由调用.lower()引起的,而是由submission.title()引起的。

因为 submission.title 已经是 str,这应该有效:

for submission in reddit.subreddit("MinecraftCommandJam").new():
    lowercaseT = submission.title.lower()
    if '[submission]' in lowercaseT:
        print(submission.title)