Articles of formato de cadena de

string.format () con marcadores de posición opcionales

Tengo el siguiente código de Python (estoy usando Python 2.7.X): my_csv = ‘{first},{middle},{last}’ print( my_csv.format( first=’John’, last=’Doe’ ) ) Obtengo una excepción KeyError porque no se especifica ‘middle’ (esto es lo esperado). Sin embargo, quiero que todos esos marcadores de posición sean opcionales. Si no se especifican los parámetros nombrados, espero que se eliminen los […]

Formato de un flotador nan en python

Estoy tratando de usar string.format en un flotador ‘nan’. Aquí está la descripción de la opción ‘g’ de la documentación de python . Formato general. Esto imprime el número como un número de punto fijo, a menos que el número sea demasiado grande, en cuyo caso cambia a la notación del exponente ‘e’. Los valores […]

Uso del método locals () y formato () para cadenas: ¿hay alguna advertencia?

¿Hay desventajas, advertencias o advertencias de mala práctica sobre el uso del siguiente patrón? def buildString(user, name = ‘john’, age=22): userId = user.getUserId() return “Name: {name}, age: {age}, userid:{userId}”.format(**locals()) Tenía un código de generación de cadenas muy repetitivo para escribir y tuve la tentación de usar esto, pero algo sobre el uso de locals() me […]

Python, imprime todos los flotantes a 2 decimales en la salida

Necesito mostrar 4 flotantes diferentes a dos decimales. Esto es lo que tengo: print ‘%.2f’ % var1,’kg =’,’%.2f’ % var2,’lb =’,’%.2f’ % var3,’gal =’,’%.2f’ % var4,’l’ Que es muy sucio, y se ve mal. ¿Hay alguna forma de hacer que flote en ese lugar, ponga ‘% .2f’? Nota: Utilizando Python 2.6.

Formato de cadena con valor-clave dict opcional

¿Hay alguna forma de formatear la cadena con dict pero opcionalmente sin errores clave? Esto funciona bien: opening_line = ‘%(greetings)s %(name)s !!!’ opening_line % {‘greetings’: ‘hello’, ‘name’: ‘john’} Pero digamos que no conozco el nombre, y me gustaría formatear la línea superior solo para ‘greetings’ . Algo como, opening_line % {‘greetings’: ‘hello’} La salida estaría […]

Truncar y rellenar usando la especificación de formato mini lenguaje

Actualmente estoy escribiendo un código que rellena una cadena con espacios, utilizando el mini lenguaje de especificación de formato de Python: print(”'{user:<10}, you're welcome!'''.format(user='John Doe')) La salida es: John Doe , you’re welcome! Sin embargo, si el nombre del usuario es algo como ‘Joooooooooooooohn Doe’, me gustaría mostrar: Jooooooooo, you’re welcome! ¿Hay alguna forma de […]

¿Cómo convertir caracteres escapados en Python?

Quiero convertir las cadenas que contienen caracteres escapados a su forma normal, de la misma manera que el analizador léxico de Python: >>> escaped_str = ‘One \\\’example\\\” >>> print(escaped_str) One \’Example\’ >>> normal_str = normalize_str(escaped_str) >>> print(normal_str) One ‘Example’ Por supuesto, la forma aburrida será reemplazar todos los personajes escapados conocidos uno por uno: http://docs.python.org/reference/lexical_analysis.html#string-literals […]

Python: Poner en mayúscula una palabra usando string.format ()

¿Es posible poner en mayúsculas una palabra usando formato de cadena? Por ejemplo, “{user} did such and such.”.format(user=”foobar”) Debe devolver “Foobar hizo tal y tal”. Tenga en cuenta que soy muy consciente de .capitalize() ; sin embargo, aquí hay un código (muy simplificado de) que estoy usando: printme = random.choice([“On {date}, {user} did la-dee-dah. “, […]

Python: Logging TypeError: no todos los argumentos se convierten durante el formato de cadena

Esto es lo que estoy haciendo. >>> import logging >>> logging.getLogger().setLevel(logging.INFO) >>> from datetime import date >>> date = date.today() >>> logging.info(‘date={}’, date) Traceback (most recent call last): File “/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/logging/__init__.py”, line 846, in emit msg = self.format(record) File “/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/logging/__init__.py”, line 723, in format return fmt.format(record) File “/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/logging/__init__.py”, line 464, in format record.message = record.getMessage() File […]

Convertir, o formatear, una cadena a variables (como format (), pero a la inversa) en Python

Tengo cadenas del formulario Version 1.4.0\n y Version 1.15.6\n , y me gustaría una forma sencilla de extraer los tres números de ellos. Sé que puedo poner variables en una cadena con el método de formato; Básicamente quiero hacer eso al revés, así: # So I know I can do this: x, y, z = […]