ошибка синтаксиса бота Python 3 IRC - PullRequest
0 голосов
/ 25 июля 2011

Хорошо, сначала. Я очень новичок в Python, и я только начал учить себя Python 3 В качестве забавного проекта, помогающего мне учиться, я решил заняться IRC-ботом. Я решил, что буду следовать базовому руководству по созданию базового бота, и, узнав, я мог бы добавить к нему больше, и сделать его своим, но проблема я верю учебник был написан для 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.

Ответы [ 3 ]

3 голосов
/ 25 июля 2011

Вы пропускаете : после if заявления. Должно быть:

if msgpart[0]=='`' and sender[0]==OWNER:
   cmd=msgpart[1:].split('')
1 голос
/ 25 июля 2011

Убедитесь, что ваши вкладки и пробелы соответствуют исходному файлу. Кажется, что перед строкой 39 есть 3 пробела (обычно это 4 или хотя бы какое-то четное число).

Плюс двоеточие : в строке 38, как говорили другие.

Пустая строка в split('') не является синтаксической ошибкой, но также выглядит странно. Чего ты там пытаешься достичь?

1 голос
/ 25 июля 2011

В конце оператора 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
                                       ^
...