我有上述错误s1="一些很长的字符串............"

有人知道我哪里做错了吗?


当前回答

在我的情况下,我的单引号字典字符串中有\r\n。我用\\r替换了\r的所有实例,用\\n替换了\\n,它修复了我的问题,正确地在eval'ed字典中返回转义换行符。

ast.literal_eval(my_str.replace('\r','\\r').replace('\n','\\n'))
  .....

其他回答

在访问任何硬盘目录时,我都遇到过同样的问题。 然后我用这种方法解决了它。

 import os
 os.startfile("D:\folder_name\file_name") #running shortcut
 os.startfile("F:") #accessing directory

上图显示了一个错误和已解决的输出。

之前的大部分答案都是正确的,我的答案和aaronasterling非常相似,你也可以做3个单引号 S1 = " '一些很长的字符串............''

我也有这个确切的错误信息,对我来说,这个问题通过添加“\”来解决

原来,我的长字符串被分成了大约八行,最后是“\”,其中一行少了一个“\”。

Python IDLE没有指定这个错误所在的行号,但它用红色高亮显示了一个完全正确的变量赋值语句,把我弄糊涂了。实际的畸形字符串语句(带有“\”的多行)与被突出显示的语句相邻。也许这能帮到别人。

变量(s1)跨越多行。为了做到这一点(即你想要你的字符串跨越多行),你必须使用三引号(""")。

s1="""some very long 
string............"""

你没有在一行的末尾加上“”。

如果你想这样做,使用""":

""" a very long string ...... 
....that can span multiple lines
"""