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

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


当前回答

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

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

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

其他回答

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

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

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

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

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

在这种情况下,三单报价或三双报价都可以! 例如:

    """Parameters:
    ...Type something.....
    .....finishing statement"""

OR

    '''Parameters:
    ...Type something.....
    .....finishing statement'''

下面的所有代码都是用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 \
............"

我在postgresql函数中得到这个错误。我有一个很长的SQL,为了更好的可读性,我用\把它分成了多行。然而,这就是问题所在。我删除了所有,并使他们在一行来解决这个问题。我使用的是pgadmin III。