Python:SyntaxError:扫描字符串文字时的EOL
-
01-10-2019 - |
题
我有上述错误 s1="some very long string............"
有人知道我在做什么错吗?
解决方案
你没有把 "
在线路结束之前。
采用 """
如果您想这样做:
""" a very long string ......
....that can span multiple lines
"""
其他提示
我遇到了这个问题 - 我最终弄清楚原因是我包括 \
字符串中的字符。如果您有任何这些,请与他们“逃脱” \\
而且应该很好。
(假设您没有/想要绳子中的线路断裂...)
这个字符串真的多长时间?
我怀疑从文件或命令行读取的行读取了多长时间是有限制的,并且因为线的末端被砍掉了解析器,所以看到了类似的东西 s1="some very long string..........
(没有结局 "
)从而引发解析错误?
您可以通过像这样的来源中逃脱线路破坏线路,将长行分为多行:
s1="some very long string.....\
...\
...."
在我的情况下,我有 \r\n
在我的单个字典字符串中。我替换了所有实例 \r
和 \\r
和 \n
和 \\n
它解决了我的问题,正确返回了评估命令中的逃逸线断裂。
ast.literal_eval(my_str.replace('\r','\\r').replace('\n','\\n'))
.....
我也遇到了这个问题,尽管这里有答案,但我想在此之后解决这个问题/
不应该有空的空间。
我面临类似的问题。我有一个字符串,该字符串包含窗口中的文件夹的路径 C:\Users\
问题是 \
是一个逃生角色,因此,为了在字符串中使用它,您需要再添加一个 \
.
不正确: C:\Users\
正确的: C:\\\Users\\\
我也收到了此确切的错误消息,对我而言,通过添加“ ”解决了问题。
事实证明,我的长字符串在一条线上丢失了大约八行的“ ”。
Python IDLE没有指定此错误已打开的行号,但是它红色指示了一个完全正确的变量分配语句,使我失望了。实际的畸形字符串语句(长度为“ ”)与该语句相邻。也许这会帮助别人。
就我而言,我使用窗口,因此我必须使用双引号而不是单引号。
C:\Users\Dr. Printer>python -mtimeit -s"a = 0"
100000000 loops, best of 3: 0.011 usec per loop
我在PostgreSQL函数中遇到了此错误。我有一个很长的SQL,我用闯入多行,以获得更好的可读性。但是,这就是问题所在。我全部删除了所有问题,并将它们划入一行以解决该问题。我正在使用pgadmin III。
就我使用Mac OS X而言,我有以下声明:
model.export_srcpkg(platform, toolchain, 'mymodel_pkg.zip', 'mymodel.dylib’)
我遇到了错误:
File "<stdin>", line 1
model.export_srcpkg(platform, toolchain, 'mymodel_pkg.zip', 'mymodel.dylib’)
^
SyntaxError: EOL while scanning string literal
我更改为:
model.export_srcpkg(platform, toolchain, "mymodel_pkg.zip", "mymodel.dylib")
有效...
大卫
您的 variable(s1)
跨越多行。为了做到这一点(即您希望您的字符串跨越多行),必须使用三引号(“”)。
s1="""some very long
string............"""