如何在Python中向文件中编写特殊字符(“\ n”,“\ b”,...)?

时间:2010-11-22 13:09:24

标签: python latex

我正在使用Python将一些纯文本处理成LaTeX,因此我需要能够将\begin{enumerate}\newcommand之类的内容写入文件。但是,当Python将其写入文件时,它会将\b\n解释为特殊字符。

如何让Python将\newcommand写入文件,而不是在新行上写ewcommand

代码是这样的......

with open(fileout,'w',encoding='utf-8') as fout:
    fout.write("\begin{enumerate}[1.]\n")

Python 3,Mac OS 10.5 PPC

3 个答案:

答案 0 :(得分:9)

一种解决方案是转义转义字符(\)。这将在b字符之前产生字面反斜杠,而不是转义b

with open(fileout,'w',encoding='utf-8') as fout:
    fout.write("\\begin{enumerate}[1.]\n")

这将作为

写入文件
\begin{enumerate}[1.]<newline>

(我假设最后的\n是有意的换行符。如果没有,请在此使用双重转义:\\n。)

答案 1 :(得分:8)

您只需要加倍反斜杠:\\n\\b。这将逃避反斜杠。您还可以将r前缀放在字符串前面:r'\begin'。详细here,这将阻止替换。

答案 2 :(得分:3)

您也可以使用原始字符串:

with open(fileout,'w',encoding='utf-8') as fout:
    fout.write(r"\begin{enumerate}[1.]\n")

注意\ begin

之前的'r'