我在s1="some very long string............"
有上述错误
有谁知道我做错了什么?
你没有在行结束前放置"
。
如果你想这样做,请使用"""
:
""" a very long string ......
....that can span multiple lines
"""
在我使用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............"""
我有这个问题 - 我最终得出结论,原因是我在字符串中包含了\
字符。如果你有任何这些,用\\
“逃避”它们,它应该工作正常。
(假设你的字符串中没有/想要换行...)
这个字符串真的有多长?
我怀疑从文件或命令行读取的行的长度是有限的,并且因为该行的结尾被解析,所以解析器看起来像s1="some very long string..........
(没有结束"
),因此抛出解析错误?
您可以通过在源中转义换行符来分割多行中的长行,如下所示:
s1="some very long string.....\
...\
...."
在我的情况下,我在单引号词典字符串中有\r\n
。我用\r
用\\r
和\n
替换了\\n
的所有实例,它解决了我的问题,正确地返回了eval'ed dict中的逃逸换行符。
ast.literal_eval(my_str.replace('\r','\\r').replace('\n','\\n'))
.....
我也遇到过这个问题,虽然这里有答案,但我想在/
之后重要一点,不应该有空的空间。意识到这一点
我遇到了类似的问题。我有一个字符串,其中包含Windows中文件夹的路径,例如C:\Users\
问题是\
是一个转义字符,所以为了在字符串中使用它,你需要再添加一个\
。
不正确:C:\Users\
正确:C:\\\Users\\\
我也有这个确切的错误信息,对我来说,问题是通过添加“\”修复的
事实证明,我的长弦,在最后分成了大约八行“\”,在一行上错过了一个“\”。
Python IDLE没有指定此错误所在的行号,但它突出显示了一个完全正确的变量赋值语句,让我失望。实际的畸形字符串语句(多行长为“\”)与突出显示的语句相邻。也许这会帮助别人。
在我的情况下,我使用Windows所以我必须使用双引号而不是单引号。
C:\Users\Dr. Printer>python -mtimeit -s"a = 0"
100000000 loops, best of 3: 0.011 usec per loop
我在postgresql函数中收到此错误。我有一个很长的SQL,我用\分为多行,以提高可读性。但是,这就是问题所在。我删除了所有并将它们排成一行以解决问题。我正在使用pgadmin III。