2

我正在尝试在字符串中插入反斜杠,但是当我这样做时:

s1='cn=Name Surname (123)'
s1[:17] + '\' + s1[17:]

我明白了

SyntaxError: EOL while scanning string literal

另外,尝试了这个,但它插入了 2 个反斜杠

s1[:17] + '\\' + s1[17:]

最后的字符串应该是这样的

s1='cn=Name Surname \(123\)'
4

5 回答 5

5

这里:

>>> s1 = 'cn=Name Surname (123)'
>>> x = s1[:16]+'\\'+s1[16:-1]+'\\'+s1[-1:]
>>> x
'cn=Name Surname \\(123\\)'
>>> print x
cn=Name Surname \(123\)
>>>

您必须打印字符串。否则,您将看到\\(在解释器中用于显示文字反斜杠)。

于 2013-08-30T14:17:26.797 回答
4
>>> s1='cn=Name Surname (123)'
>>> s1[:17] + '\\' + s1[17:]
'cn=Name Surname (\\123)'

看起来像是两个反斜杠,但实际上只包含一个反斜杠。

>>> print(s1[:17] + '\\' + s1[17:])
cn=Name Surname (\123)
>>> print s1[:17] + '\\' + s1[17:-1] + '\\' + s1[-1:]
cn=Name Surname (\123\)
于 2013-08-30T14:14:40.733 回答
1

如果您只是在 python 命令行解释器中输入它并按回车键,它将显示为两个反斜杠,因为解释器显示转义字符。但是,如果您将其保存到文件中,或者如果您在“打印”命令中使用它,它将抑制转义字符并打印实际值,在这种情况下它只是一个反斜杠。

于 2013-08-30T14:27:56.780 回答
0

这样的事情就足够了吗?

print(s1.replace('(', '\\(').replace(')', '\\)'))
于 2013-08-30T14:16:46.657 回答
0
for folder in Chart_Folders:
    files = os.listdir(path + '\\' + folder)
    print(files)

这确实有效

于 2021-10-05T00:24:51.537 回答