Estoy tratando de aprender Python (3 para ser más específico) y obtengo este error:
ValueError: zero length field name in format
Lo busqué en Google y descubrí que necesitas especificar los números:
a, b = 0, 1
if a < b:
print('a ({0}) is less than b ({1})'.format(a, b))
else:
print('a ({0}) is not less than b ({1})'.format(a, b))
Y no como el tutorial (de lynda.com) realmente dice:
a, b = 0, 1
if a < b:
print('a ({}) is less than b ({})'.format(a, b))
else:
print('a ({}) is not less than b ({})'.format(a, b))
El tutorial que sigo tiene Python 3.1, y estoy usando 3.2 y lo que leí sobre este error es que esto solo sucede en <3.1 (3.0). ¿Deshacieron esto en 3.2 o estoy haciendo algo mal?
Además, habla despacio;) esta es literalmente mi primera noche aprendiendo Python y solo el segundo "script" que he escrito en Python.
Respuestas:
Supongo que está ejecutando Python 2.6 por accidente de alguna manera.
Esta función solo está disponible para al menos 3.1 si está usando Python 3, o 2.7 si está usando Python 2.
fuente
#! /usr/local/bin/python3
después de mirar por todos lados. Hay 3 ubicaciones diferentes de instalaciones de Python en Mac -_- wtf.Python 2.6 y 3.0 requieren los números de campo. En Python 2.7 y posteriores y 3.1 y posteriores, se pueden omitir.
fuente
python3.4 -c 'print("|{}|{}|".format(3,4))'
pero aparentemente 3.0 no lo tiene (3.1 y posteriores sí). Aclararé mi respuesta.Si está utilizando Eclipse, debería buscar en Ventana -> Preferencias -> PyDev -> Intérprete - Python. Allí tienes una lista de intérpretes (con nombre y ubicación). Si para su proyecto actual está utilizando un intérprete que se encuentra, por ejemplo, en / usr / bin / python, probablemente ejecute / usr / bin / python -V le dará algo como "Python 2.6.6". Y ahí está tu respuesta, como escribió Winston Ewert.
(puede agregar un nuevo interperter simplemente haciendo clic en el botón "Nuevo ..." y dando / usr / bin / python3 como "ubicación". Entonces probablemente tenga que cambiar la configuración de su proyecto (Preferencias -> PyDev - Intérprete / Gramática).
fuente