python:SyntaxError:扫描字符串li时的EOL
我在s1="some very long string............"中有上述错误
有谁知道我做错了什么?
11个解决方案
165 votes
你没有在行结束前放置"""。
如果要执行此操作,请使用""":
""" a very long string ......
....that can span multiple lines
"""
aaronasterling answered 2019-06-25T22:04:55Z
67 votes
我有这个问题 - 我最终得出结论,原因是我在字符串中包含了\个字符。 如果您有任何这些,"逃避" 他们与\\,它应该工作正常。
Chris H answered 2019-06-25T22:05:20Z
16 votes
(假设你没有/想要在你的字符串中换行......)
这个字符串真的有多长?
我怀疑从一个文件或命令行读取一行的时间有一个限制,并且因为该行的结尾被解析,所以解析器看到类似于s1="some very long string..........(没有结束")并因此抛出解析错误?
您可以通过在源中转义换行符来分割多行中的长行,如下所示:
s1="some very long string.....\
...\
...."
JanC answered 2019-06-25T22:06:06Z
7 votes
在我的情况下,我的单引号词典字符串中有\r\n。 我用\\r和\n替换了\r的所有实例和\\n,它解决了我的问题,正确地返回了eval< dict中的转义换行符。
ast.literal_eval(my_str.replace('\r','\\r').replace('\n','\\n'))
.....
Nicolas Bouliane answered 2019-06-25T22:06:32Z
4 votes
我也遇到过这个问题,虽然这里有答案但我想对此提出重要意见后/应该没有空的空间。意识到它
madhu131313 answered 2019-06-25T22:06:59Z
3 votes
我遇到了类似的问题。 我有一个字符串,其中包含Windows中文件夹的路径,例如 C:\\\Users\\\问题是\是一个转义字符,所以为了在字符串中使用它,你需要再添加一个\。
不正确:C:\\\Users\\\
正确:C:\\\Users\\\
Ashish kulkarni answered 2019-06-25T22:07:40Z
2 votes
我也有这个确切的错误信息,对我来说,问题是通过添加"\"
事实证明,我的长弦,用"分成八行。\" 在最后,错过了一个"\" 在一条线上。
Python IDLE没有指定此错误所在的行号,但它突出显示了一个完全正确的变量赋值语句,让我失望。 实际的畸形字符串语句(带有" \"的多行)与要突出显示的语句相邻。 也许这会帮助别人。
user12711 answered 2019-06-25T22:08:22Z
2 votes
在我的情况下,我使用Windows所以我必须使用双引号而不是单引号。
C:\Users\Dr. Printer>python -mtimeit -s"a = 0"
100000000 loops, best of 3: 0.011 usec per loop
Aminah Nuraini answered 2019-06-25T22:08:49Z
2 votes
我在postgresql函数中收到此错误。 我有一个很长的SQL,我用\分为多行,以提高可读性。 但是,这就是问题所在。 我删除了所有并将它们排成一行以解决问题。 我正在使用pgadmin III。
Ram Dwivedi answered 2019-06-25T22:09:17Z
1 votes
在我使用Mac OS X的情况下,我有以下声明:
model.export_srcpkg(platform, toolchain, 'mymodel_pkg.zip', 'mymodel.dylib’)
我收到了错误:
File "", 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")
有效...
大卫
us_david answered 2019-06-25T22:10:06Z
1 votes
您的variable(s1)跨越多行。 为了做到这一点(即你希望你的字符串跨越多行),你必须使用三重引号(""")。
s1="""some very long
string............"""
Khandelwal-manik answered 2019-06-25T22:10:34Z