问题:python:SyntaxError:扫描字符串文字时停产
我有上述错误 s1="some very long string............"
有人知道我在做什么错吗?
回答 0
您没有"
在行尾放置a 。
"""
如果要执行此操作,请使用:
""" a very long string ......
....that can span multiple lines
"""
回答 1
我遇到了这个问题-我最终弄清楚了原因是我\
在字符串中包含了字符。如果您有任何一个,请与他们“转义” \\
,它应该可以正常工作。
回答 2
(假设您的字符串中没有/想要换行…)
这串真的多久了?
我怀疑从文件或从命令行读取的行的长度是有限制的,并且由于行的结尾被解析器截断,因此会看到类似s1="some very long string..........
(不带结尾"
)的内容,从而引发解析错误?
您可以通过在源代码中转义换行符,将长行分成多行:
s1="some very long string.....\
...\
...."
回答 3
在我的情况下,我\r\n
在单引号中包含字典字符串。我取代的所有实例\r
与\\r
和\n
与\\n
它固定我的问题,正确地返回在eval’ed字典逃脱换行符。
ast.literal_eval(my_str.replace('\r','\\r').replace('\n','\\n'))
.....
回答 4
我遇到了类似的问题。我有一个包含Windows中文件夹路径的字符串,例如C:\Users\
,问题是\
转义字符,因此要在字符串中使用它,您需要再添加一个\
。
不正确: C:\Users\
正确: C:\\\Users\\\
回答 5
我也有这个问题,尽管这里有答案,但我想在/
不应该有空白的地方对此做一个重要
说明。
回答 6
我也有此确切的错误消息,对我来说,此问题已通过添加“ \”来解决
事实证明,我的长字符串在结尾处被分解成大约八行,并带有“ \”,但在一行上缺少“ \”。
Python IDLE没有指定此错误所在的行号,但是它以红色突出显示了完全正确的变量赋值语句,这使我不满意。实际变形的字符串语句(多行长为“ \”)与突出显示的语句相邻。也许这会帮助别人。
回答 7
就我而言,我使用Windows,因此必须使用双引号而不是单引号。
C:\Users\Dr. Printer>python -mtimeit -s"a = 0"
100000000 loops, best of 3: 0.011 usec per loop
回答 8
我在postgresql函数中遇到此错误。我有一个较长的SQL,使用\分成多行,以提高可读性。但是,这就是问题所在。我删除了所有内容,并将它们放在一行中以解决此问题。我正在使用pgadmin III。
回答 9
就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")
有效…
大卫
回答 10
您可以尝试以下方法:
s = r'long\annoying\path'
回答 11
您variable(s1)
跨多行。为了做到这一点(即您希望您的字符串跨越多行),必须使用三引号(“”“)。
s1="""some very long
string............"""
回答 12
在这种情况下,三个单引号或三个双引号都可以使用!例如:
"""Parameters:
...Type something.....
.....finishing statement"""
要么
'''Parameters:
...Type something.....
.....finishing statement'''
回答 13
以前的大多数答案都是正确的,我的答案与aaronasterling非常相似,您也可以用3个单引号s1 =”’一些很长的字符串………”’
回答 14
访问任何硬盘目录时,我都遇到了同样的问题。然后我以这种方式解决了。
import os
os.startfile("D:\folder_name\file_name") #running shortcut
os.startfile("F:") #accessing directory
上图显示了错误和已解决的输出。