Подтвердить что ты не робот

Python IndentationError: неожиданный отступ

Вот мой код... Я получаю ошибку отступа, но я не знаю, почему это происходит.

- >

# loop
while d <= end_date:
    # print d.strftime("%Y%m%d")
    fecha = d.strftime("%Y%m%d")
    # set url
    url = 'http://www.wpemergencia.omie.es//datosPub/marginalpdbc/marginalpdbc_' + fecha + '.1'
    # Descargamos fichero
    response = urllib2.urlopen(url)
    # Abrimos fichero
    output = open(fname,'wb')
    # Escribimos fichero
    output.write(response.read())
    # Cerramos y guardamos fichero
    output.close()
    # fecha++
    d += delta
4b9b3361

Ответ 1

Запустите программу с помощью

python -t script.py

Это предупредит вас, если у вас смешанные вкладки и пробелы.

В системах * nix вы можете видеть, где находятся вкладки, запустив

cat -A script.py

и вы можете автоматически конвертировать вкладки в 4 пробела с помощью команды

expand -t 4 script.py > fixed_script.py

PS. При программировании обязательно используйте редактор программирования (например, emacs, vim), а не текстовый процессор. Вы не получите эту проблему с помощью редактора программ.

ПФС. Для пользователей emacs M-x whitespace-mode отобразит ту же информацию, что и cat -A из буфера emacs!

Ответ 2

найти все вкладки и заменить на 4 пробела в блокноте ++. Он работал.

Ответ 3

Проверьте, если вы смешиваете вкладки и пробелы, что является частым источником ошибок отступов.

Ответ 4

Вы не можете смешивать вкладки и пробелы для идентификации. Лучшей практикой является преобразование всех вкладок в пробелы.

Как это исправить? Ну просто удалите все пробелы/вкладки перед каждой строкой и равномерно конвертируйте их в закладки или пробелы, но не смешивайте. Лучшее решение: включите в своем редакторе возможность автоматического преобразования любых вкладок в пробелы.

Также имейте в виду, что ваша фактическая проблема может лежать в строках перед этим блоком, а python выдает ошибку здесь из-за ведущего недопустимого отступа, который не соответствует следующим идентификациям!

Ответ 5

Просто скопируйте script и поставьте под "" весь ваш код "" "...

укажите эту строку в переменной.. like,

a = """ your entire code """
print a.replace('    ','    ') # first 4 spaces tab second four space from space bar

print a.replace('here please press tab button it will insert some space"," here simply press space bar four times")
# here we replacing tab space by four char space as per pep 8 style guide..

теперь выполните этот код, возвышенный с помощью ctrl + b, теперь он будет печатать отступы в консоли. что он