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

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


当前回答

下面的所有代码都是用Python 3.8.3测试的


最简单的——使用三引号。 单引号:

long_string = '''some
very 
long
string
............'''

或双:

long_string = """some
very 
long
string
............"""

注意:三引号字符串保留缩进,这意味着

long_string = """some
    very 
    long
string
............"""

and

long_string = """some
    very 
long
string
............"""

或者只是

long_string = """
some
very 
long
string
............"""

是不一样的。 在标准库中有一个textwrap.dedent函数来处理这个问题,尽管使用它超出了问题的范围。


你也可以在字符串中使用\n,停留在单行上:

long_string = "some \nvery \nlong \nstring \n............"

此外,如果你不需要任何换行符(即换行符)在字符串中,你可以在常规字符串中使用\:

long_string = "some \
very \
long \
string \
............"

其他回答

在我使用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")

它工作…

大卫

我也遇到过类似的问题。我有一个字符串,其中包含Windows中的文件夹路径,例如C:\Users\问题是\是一个转义字符,所以为了在字符串中使用它,你需要再添加一个\。

错误:C:\Users\

正确的:C: \ \ \ \用户

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

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

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

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

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

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

下面的所有代码都是用Python 3.8.3测试的


最简单的——使用三引号。 单引号:

long_string = '''some
very 
long
string
............'''

或双:

long_string = """some
very 
long
string
............"""

注意:三引号字符串保留缩进,这意味着

long_string = """some
    very 
    long
string
............"""

and

long_string = """some
    very 
long
string
............"""

或者只是

long_string = """
some
very 
long
string
............"""

是不一样的。 在标准库中有一个textwrap.dedent函数来处理这个问题,尽管使用它超出了问题的范围。


你也可以在字符串中使用\n,停留在单行上:

long_string = "some \nvery \nlong \nstring \n............"

此外,如果你不需要任何换行符(即换行符)在字符串中,你可以在常规字符串中使用\:

long_string = "some \
very \
long \
string \
............"