Ответ 1
Вы начинаете использовать текстовый редактор, который позволяет отображать отступы, и вы становитесь последовательными в использовании пробелов вместо вкладок, и вы применяете это в своем редакторе.
Я пытаюсь написать свой первый питон script. Это работало, но затем, после небольшого рефакторинга, я, по-видимому, сломал отступ. Я не могу определить, в чем проблема. Интерпретатор жалуется на следующий метод. Может кто-нибудь указать на это?
def dataReceived(self, data):
a = data.split(':')
print a
if len(a) > 1:
command = a[0]
content = a[1]
msg = ""
if command == "iam":
self.name = content
msg = self.name + " has joined"
elif command == "msg":
msg = self.name + ": " + content
print msg
Ошибка: Файл "python_server.py", строка 17 a = data.split(':') ^ IndentationError: ожидается отложенный блок
Вы начинаете использовать текстовый редактор, который позволяет отображать отступы, и вы становитесь последовательными в использовании пробелов вместо вкладок, и вы применяете это в своем редакторе.
Я столкнулся с аналогичной проблемой, используя Sublime Text 2.
Чтобы решить, нажмите "Размер вкладки" внизу редактора и выберите "Преобразовать отступ в табуляции".
Здесь вы можете многое сделать:
vi
с set list
).od -xcb
.Попробуйте Editra - www.editra.org
Ваш код выглядит отлично, синтаксис кажется прекрасным... ваш текстовый редактор может создавать ваши ошибки. Просмотрите файл с помощью Editra, чтобы просмотреть/просмотреть уровни отступов.
Editra сохранил мое здравомыслие - я думал, что у меня есть правильный синтаксис при просмотре моего script в текстовых редакторах, включая Notepad ++ с плагином отступа python. Однако, когда я буду запускать script, он будет каждый раз отбрасывать ошибки отступа. Я, наконец, открыл script в Editra, и я мог видеть проблему. Notepad ++ и другие текстовые редакторы не отображали правильные отступы/вкладки/пробелы. Editra показал ошибки, например. неожиданные пробелы, вкладки - которые я смог исправить.
Editra автоматически отпечатает ваш script [и покажет ошибки -tabs, пробелы, которые могут не отображаться в других текстовых редакторах].
Если у вас есть ошибки отступа, он будет отображаться как синий подчеркнутый сегмент;
Если вы пишете script [добавление/удаление строк], Editra будет автоматически отступать script.
** Я бы предложил открыть ваш script и отредактировать его в Editra.
Надеюсь, это поможет! Удачи. str8arrow
если вы используете редактор "Sublime Text 2", я нашел этот ответ полезным - он подробно описывает, как включать символы пробела, а также конвертировать вкладки в пробелы