2011-07-25 39 views
0

好的,首先。我对python很陌生,我刚开始自学python 3 作为一个有趣的项目来帮助我学习,我决定做一个IRC Bot,我想我会遵循一个关于创建基本bot的基本教程,并且当我学习时,我可以添加更多内容,并使其成为我自己的,但问题是我相信 本教程是为python 2.x编写的。我收到了一些我自己能够修复的错误,但是现在我收到了这个我不能理解的语法错误。 误差是39行,这里是线38和39,(38,因为我有一个语法错误有,但设法解决它)python 3 IRC bot语法错误

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语句。

+1

你确实需要在OWNER之后冒号,你得到了什么确切的错误信息? “类似的事情”并没有告诉我们很多。 – yan

+0

当colin在if语句后面时,我得到相同的无效语法错误,这就是为什么它对我没有意义。 – RobbieK

+1

@RobbieK:一旦你把':'放回去,检查之前的行 - 'SyntaxError'可能意味着你忘记关闭括号 - )]或}。 –

回答

3

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

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

您在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 
            ^
+0

我会给它一个镜头,但正如我想说的那样,如果结束时有一个冒号,那么我会在该行上得到一个语法错误。与^在冒号下。 – RobbieK

1

检查你的标签和空间是一致的源文件。在39行前面似乎有3个空格(通常是4,或者至少有一些偶数)。

加上冒号:像第38行一样说。

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