2011-07-25 53 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('')中的空字符串沒有語法錯誤,但它看起來很奇怪。你想在那裏做什麼?