【问题标题】:python 3 IRC bot syntax errorpython 3 IRC bot语法错误
【发布时间】:2011-07-26 00:24:54
【问题描述】:

好的,首先。我对python很陌生,我刚刚开始自学python 3 作为一个帮助我学习的有趣项目,我决定做一个 IRC Bot,我想我会遵循一个关于创建基本机器人的基本教程,当我学习时,我可以添加更多内容,让它成为我自己的,但问题是我相信吗 本教程是为 python 2.x 编写的。我遇到了一些可以自己修复的错误,但现在我遇到了这个我似乎无法弄清楚的语法错误。 错误在第 39 行,这里是第 38 和 39 行,(38 因为我在那里有语法错误但设法修复它)

if msgpart[0]=='`' and sender[0]==OWNER  # Treat all messages start with ` as a command
   cmd=msgpart[1:].split('')

我得到的错误是。

File "pybot.py", line 39
cmd=msgpart[1:].split('')
  ^
Syntax error: invalid syntax

第 38 行的错误是一样的,但是我删除了 : 之后的所有者并修复了 本身,这对我来说似乎很奇怪,因为据我所知,应该是:在 IF 语句之后。

【问题讨论】:

  • OWNER 后面确实需要一个冒号,你得到了什么确切的错误信息? “类似的事情”并不能告诉我们太多。
  • 当 colin 在 if 语句之后时,我得到同样的无效语法错误,这就是为什么它对我没有意义。
  • @RobbieK:一旦你把 : 放回去,检查前面的行 - SyntaxError 可能意味着你忘记关闭括号 - ) ] 或 }。跨度>

标签: python irc bots


【解决方案1】:

if 声明之后,您缺少:。应该是:

if msgpart[0]=='`' and sender[0]==OWNER:
   cmd=msgpart[1:].split('')

【讨论】:

    【解决方案2】:

    if 语句末尾缺少冒号 :

    if msgpart[0]=='`' and sender[0]==OWNER  # Treat all messages start with ` as a command
                                           ^
    

    应该是:

    if msgpart[0]=='`' and sender[0]==OWNER:  # Treat all messages start with ` as a command
                                           ^
    

    【讨论】:

    • 我会试一试,但正如我想说的,当 if 语句末尾有一个冒号时,我在该行出现语法错误。冒号下的 ^。
    【解决方案3】:

    检查源文件中的制表符和空格是否一致。第 39 行前面似乎有 3 个空格(通常是 4,或者至少是一些偶数)。

    像其他人所说的那样,在第 38 行加上冒号 :

    split('') 中的空字符串没有语法错误,但看起来也很奇怪。你想在那里实现什么目标?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-09-24
      • 2012-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多