如何在文件中写入“ \ b”字符​​?

时间:2019-05-22 02:13:38

标签: python file

我正在尝试编写一个包含"\b"字符作为字符串的文件,但是在打开该文件时会忽略它。

这是我的代码:

with open('proof.tex','w') as archivo:
    archivo.write('''\documentclass[12pt, a4paper]{article}
\begin{document}
$S=\sum ^{100}_{i=0}a_{i}\left( x\right) $
\end{document}''')

这是在输出文件中生成的文本:

egin{document}
$S=\sum ^{100}_{i=0}a_{i}\left( x\right) $
\end{document}

1 个答案:

答案 0 :(得分:0)

它正在编写退格字符,只是在使用的任何外部程序中都看不到它。

确认:

>>> with open('temptest.txt', 'w') as f:
...     f.write('123\b456')
...
>>> with open('temptest.txt', 'r') as f2:
...     s = f2.read()
...
>>> s
'123\x08456'

尝试使用hexdump之类的工具来查看文件并查看原始字节。大多数文本编辑器不会以任何可见的方式显示\b(U + 0008,“退格键”)。

另一方面,如果您要在原始反斜杠后面加上原始b,则需要转义反斜杠:Python将\b解释为U + 0008,像\n表示换行,而\t表示制表符。

最简单的方法是使用原始字符串:

my_content = r'''\b \b \b'''

请注意前面的r(代表“原始”)!这将带有实际的原始反斜杠,然后是实际的原始b

您还可以将反斜杠加倍:

my_content = '''\\b \\b \\b'''

这具有相同的效果。