Python替代添加了额外的反斜杠字符

时间:2015-09-28 11:24:58

标签: python regex

我有一个用单引号括起来的json字符串。因此,我使用单个反斜杠转义字符串中的单引号。

当我将输出写入文件时,它会在一个地方写入两个反斜杠。

简化示例如下,

import re
re.sub(r"'", r"\'", "abcd\'")

它写入文件

abcd\\'

但我更喜欢写,

abcd\'

1 个答案:

答案 0 :(得分:1)

您的代码应该可以很好地运行:

>py -3
>>> import re
>>> with open("test.txt", "w") as file:
...     file.write(re.sub(r"'", r"\'", "abcd\'"))
...
6

>cat test.txt
abcd\'

当Python显示带有反斜杠的字符串时,它会将其显示为转义字符串 - 这并不意味着存在额外的反斜杠,它只是用来区分转义字符和真正的反斜杠

>>> r"abcd\'"
"abcd\\'"
>>> print(r"abcd\'")
abcd\'