escape - python raw string
¿Cómo escribir cadenas literales en python sin tener que escapar de ellas? (5)
¿Hay una manera de declarar una variable de cadena en python de modo que todo lo que se encuentra dentro de ella se escape automáticamente, o tenga su valor de carácter literal?
No estoy preguntando 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!
(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;
input_ = ''/directory_of_text_file/your_text_file.txt''
input_open = open(input_,''r+'')
input_string = input_open.read()
print input_string
Esto imprimirá el texto literal de lo 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 necesitarían un escape de caracteres.
Encontrará la documentación literal de la 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'':
ss = r''Hello/nWorld''
print(ss)
Hello/nWorld
Literales de cuerda cruda:
>>> r''abc/dev/t''
''abc//dev//t''
No existe tal cosa. Parece que quieres algo como "documentos aquí" en Perl y los shells, pero Python no tiene eso.
El uso de cadenas sin formato o cadenas multilínea solo significa que hay menos cosas de qué preocuparse. Si usa una cadena en bruto, entonces todavía tiene que trabajar alrededor de 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 manera de tener la cadena
'' '''''' """ " /
correctamente almacenado en cualquier cadena literal de Python sin escape interno de algún tipo.
Si está tratando con cadenas muy grandes, específicamente cadenas multilínea, tenga en cuenta la sintaxis de las comillas triples :
a = r"""This is a multiline string
with more than one line
in the source code."""