如何使用Python向txt文件正确写入\par与\framebreak内容
Python写入含反斜杠文本到txt文件的正确方法
问题原因
Python普通字符串语法中,反斜杠\是默认转义标识符,会和后续字符组合解析为特殊控制字符:\f会被识别为ASCII换页控制符,无法按字面量写入文件;\p没有对应的预定义转义规则,所以不会被误转义。
可直接复用的解决方案
任选一种方法即可实现预期写入效果:
- 方法1:使用原始字符串(新手推荐,出错概率最低)
在字符串字面量前加r前缀,Python会关闭该字符串的所有转义解析逻辑,所有字符完全按字面量识别,不需要额外修改待写入的文本内容。
示例代码:with open("output.txt", "w", encoding="utf-8") as file: file.write(r"\par" + "\n") file.write(r"\framebreak") - 方法2:手动转义反斜杠
把所有需要字面输出的反斜杠替换为双反斜杠\\,Python解析时会自动将\\识别为单个字面反斜杠。
示例代码:with open("output.txt", "w", encoding="utf-8") as file: file.write("\\par\n") file.write("\\framebreak")
效果验证
运行代码后打开生成的output.txt,可以看到两行内容完全符合预期:
\par
\framebreak
内容的提问来源于stack exchange,提问作者Muhammad Siddique
相关产品推荐
相关产品推荐

