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

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


当前回答

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

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

其他回答

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

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

OR

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

我遇到了这个问题——我最终发现原因是我在字符串中包含了\字符。如果你有任何这些,“转义”他们与\\,它应该工作正常。

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

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

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

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

(假设你没有/不想在你的字符串中换行…)

这个字符串到底有多长?

我怀疑从文件或命令行读取一行的长度是有限制的,因为行尾被截断,解析器会看到类似s1="一些非常长的字符串..........(没有结尾),从而抛出解析错误?

你可以通过在源代码中转义换行符将长行拆分为多行,如下所示:

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