Tengo el error mencionado anteriormente en s1="some very long string............"
¿Alguien sabe lo que estoy haciendo mal?
python
string
string-literals
l --''''''--------- '' '' '' '' '' ''
fuente
fuente
Respuestas:
No está poniendo un
"
antes del final de la línea.Úselo
"""
si desea hacer esto:fuente
Tuve este problema: eventualmente descubrí que la razón era que había incluido
\
caracteres en la cadena. Si tiene alguno de estos, "escape" con ellos\\
y debería funcionar bien.fuente
r
antes de la cadena para evitar que causen problemas.(Suponiendo que no tiene / quiere saltos de línea en su cadena ...)
¿Cuánto dura realmente esta cuerda?
Sospecho que hay un límite en cuanto al tiempo que puede durar una línea leída de un archivo o de la línea de comandos, y debido a que el final de la línea se interrumpe, el analizador ve algo así
s1="some very long string..........
(sin un final"
) y, por lo tanto, arroja un error de análisis.Puede dividir líneas largas en varias líneas escapando de los saltos de línea en su fuente de esta manera:
fuente
En mi situación, tenía
\r\n
en mis cadenas de diccionario entre comillas simples. Reemplacé todas las instancias de\r
con\\r
y\n
con\\n
y solucionó mi problema, devolviendo correctamente los saltos de línea escapados en el dict evaluado.fuente
Me enfrenté a un problema similar. Tenía una cadena que contenía la ruta a una carpeta en Windows, por ejemplo,
C:\Users\
el problema es que\
es un carácter de escape y, por lo tanto, para usarlo en cadenas necesita agregar uno más\
.Incorrecto:
C:\Users\
Correcto:
C:\\\Users\\\
fuente
También tuve este problema, aunque había respuestas aquí, quiero un punto importante para esto después de
/
que no haya espacios vacíos.fuente
También recibí este mensaje de error exacto, para mí el problema se solucionó agregando un "\"
Resulta que a mi cadena larga, dividida en aproximadamente ocho líneas con "\" al final, le faltaba una "\" en una línea.
Python IDLE no especificó un número de línea en el que estaba este error, pero resaltó en rojo una declaración de asignación de variable totalmente correcta, lo que me hizo perder el conocimiento. La declaración de cadena deforme real (varias líneas largas con "\") era adyacente a la declaración que se resaltaba. Quizás esto ayude a alguien más.
fuente
En mi caso, uso Windows, así que tengo que usar comillas dobles en lugar de simples.
fuente
Estaba recibiendo este error en la función postgresql. Tenía un SQL largo que dividí en varias líneas con \ para una mejor legibilidad. Sin embargo, ese era el problema. Eliminé todo y los hice en una línea para solucionar el problema. Estaba usando pgadmin III.
fuente
En mi caso con Mac OS X, tuve la siguiente declaración:
Estaba recibiendo el error:
Después de cambiar a:
Funcionó...
David
fuente
Puedes probar esto:
fuente
s = r'long\annoying\path\\'
.Su
variable(s1)
abarca varias líneas. Para hacer esto (es decir, si desea que su cadena abarque varias líneas), debe usar comillas triples ("" ").fuente
¡En este caso, tres citas simples o tres citas dobles funcionarán! Por ejemplo:
O
fuente
La mayoría de las respuestas anteriores son correctas y mi respuesta es muy similar a aaronasterling, también podría hacer 3 citas simples s1 = '' 'una cadena muy larga ............' ''
fuente
Me enfrenté al mismo problema al acceder a cualquier directorio del disco duro. Luego lo resolví de esta manera.
La imagen de arriba muestra un error y un resultado resuelto.
fuente