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
Ответы
Ответ 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, теперь он будет печатать отступы в консоли. что он