¿Hay alguna manera de declarar una variable de cadena en Python de modo que todo dentro de ella se escape automáticamente o tenga su valor de carácter literal?
Estoy no preguntar cómo escapar de las comillas con barras, eso es obvio. Lo que estoy pidiendo es una forma de propósito general para hacer que todo en una cadena sea literal para que no tenga que pasar manualmente y escapar de todo para cadenas muy grandes. ¿Alguien sabe de una solución? ¡Gracias!
a
contendrá una cadena con dos caracteres de salto de línea?"
nada bueno, porque todo terminará con""""
un error de sintaxis.No existe tal cosa. Parece que quieres algo como "aquí documentos" en Perl y los shells, pero Python no tiene eso.
El uso de cadenas sin procesar o cadenas de varias líneas solo significa que hay menos cosas de las que preocuparse. Si usa una cadena sin procesar, todavía tiene que trabajar con un terminal "\" y con cualquier solución de cadena tendrá que preocuparse por el cierre ", ',' '' o" "" si está incluido en sus datos .
Es decir, no hay forma de tener la cuerda
almacenado correctamente en cualquier literal de cadena de Python sin escape interno de algún tipo.
fuente
Encontrará la documentación literal de cadena de Python aquí:
http://docs.python.org/tutorial/introduction.html#strings
y aquí:
http://docs.python.org/reference/lexical_analysis.html#literals
El ejemplo más simple sería usar el prefijo 'r':
fuente
(Suponiendo que no es necesario que ingrese la cadena directamente desde el código Python)
para solucionar el problema que señaló Andrew Dalke, simplemente escriba la cadena literal en un archivo de texto y luego use esto;
Esto imprimirá el texto literal de lo que sea que esté en el archivo de texto, incluso si lo está;
No es divertido ni óptimo, pero puede ser útil, especialmente si tiene 3 páginas de código que habrían necesitado escapar de los caracteres.
fuente
si la cadena es una variable, use el. método de reproducción en él:
fuente
repr(s)
en su lugar para un mejor estilo