python - online - indentationerror: unindent does not match any outer indentation level
Python IndentationError: sangría inesperada (5)
Aquí está mi código ... Estoy recibiendo un error de sangría pero no sé por qué ocurre.
->
# 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
Compruebe si ha mezclado tabulaciones y espacios, que es una fuente frecuente de errores de sangrado.
Ejecuta tu programa con
python -t script.py
Esto te avisará si tienes pestañas y espacios mixtos.
En los sistemas * nix, puede ver dónde se encuentran las pestañas ejecutando
cat -A script.py
y puedes convertir automáticamente las pestañas a 4 espacios con el comando
expand -t 4 script.py > fixed_script.py
PD. Asegúrese de usar un editor de programación (por ejemplo, emacs, vim), no un procesador de textos, al programar. No tendrás este problema con un editor de programación.
PPS. Para usuarios de emacs, el whitespace-mode
Mx mostrará la misma información que cat -A
desde un búfer de emacs.
No se pueden mezclar tabulaciones y espacios para la identificación. La mejor práctica es convertir todas las pestañas en espacios.
¿Cómo arreglar esto? Bueno, simplemente elimine todos los espacios / tabulaciones antes de cada línea y conviértalos uniformemente en tabulaciones O espacios, pero no mezcle. La mejor solución: habilite en su Editor la opción de convertir automáticamente cualquier pestaña a espacio.
También tenga en cuenta que su problema real puede estar en las líneas antes de este bloque, y Python emite el error aquí, debido a una sangría no válida que no coincide con las siguientes identificaciones.
Simplemente copie su script y ponga "" "su código completo" "" ...
especifique esta línea en una variable .. como,
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..
ahora ejecute este código, en sublime usando ctrl + b, ahora imprimirá el código sangrado en la consola. Eso es
encuentra todas las pestañas y las reemplaza por 4 espacios en notepad ++ .Tt funcionó.