【发布时间】:2019-08-14 01:10:42
【问题描述】:
在将字符串写入文本文件之前,我按照此代码准备了一个字符串:
text = my_dict['key']
# Ensure text is utf-8 formatted
safe_text = text.encode('utf-8', errors='ignore')
# Escape any \ issues
safer_text = str(safe_text).replace('\\', '\\\\').replace('"', '\\"')
# Write to .txt file
text_file = open("Data/output.txt", "w")
text_file.write(safer_text)
我知道\ 是特殊字符的转义,所以我认为safe_text(表示文件路径)中的\\ 将被\\\\ 替换。但是,我不知道为什么代码要用\\" 替换"(因为我不认为" 是需要转义的特殊字符)。但即使是这样,为什么不用.replace('"', '\"') 而不是.replace('"', '\\"')?。还有,为什么不能简单地将包含\\和"的safe_text直接写到output.txt中(也就是跳过safer_text这一步)?
谢谢。
【问题讨论】: