Tengo el error mencionado anteriormente en s1="some very long string............"
¿Alguien sabe lo que estoy haciendo mal?
Tengo el error mencionado anteriormente en s1="some very long string............"
¿Alguien sabe lo que estoy haciendo mal?
Respuestas:
No está poniendo un "
antes del final de la línea.
Úselo """
si desea hacer esto:
""" a very long string ......
....that can span multiple lines
"""
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.
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:
s1="some very long string.....\
...\
...."
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.
ast.literal_eval(my_str.replace('\r','\\r').replace('\n','\\n'))
.....
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\\\
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.
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.
En mi caso, uso Windows, así que tengo que usar comillas dobles en lugar de simples.
C:\Users\Dr. Printer>python -mtimeit -s"a = 0"
100000000 loops, best of 3: 0.011 usec per loop
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.
En mi caso con Mac OS X, tuve la siguiente declaración:
model.export_srcpkg(platform, toolchain, 'mymodel_pkg.zip', 'mymodel.dylib’)
Estaba recibiendo el error:
File "<stdin>", line 1
model.export_srcpkg(platform, toolchain, 'mymodel_pkg.zip', 'mymodel.dylib’)
^
SyntaxError: EOL while scanning string literal
Después de cambiar a:
model.export_srcpkg(platform, toolchain, "mymodel_pkg.zip", "mymodel.dylib")
Funcionó...
David
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 ("" ").
s1="""some very long
string............"""
Me enfrenté al mismo problema al acceder a cualquier directorio del disco duro. Luego lo resolví de esta manera.
import os
os.startfile("D:\folder_name\file_name") #running shortcut
os.startfile("F:") #accessing directory
La imagen de arriba muestra un error y un resultado resuelto.