Yo uso este shell de Python para generar una cadena:
>>>':'.join("{:x}\n".format(random.randint(0, 2**16 - 1)) for i in range(4))
Cuando ejecuto este shell en Python2.7.5, todo va bien. Pero ocurre ValueError: zero length field name in format
cuando la versión de Python es 2.6.6
. ¿Qué debo ejecutar esta shell bien cuando la versión de Python es 2.6.6
?
En las versiones 2.6 o anteriores de Python, debe numerar explícitamente los campos de formato:
':'.join("{0:x}\n".format(random.randint(0, 2**16 - 1)) for i in range(4)) # ^
Puedes leer sobre esto en los documentos :
Modificado en la versión 2.7: los especificadores de argumento posicionales pueden omitirse, por lo que
'{} {}'
es equivalente a'{0} {1}'
.