我正在尝试编写一个包含"\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}
答案 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'''
这具有相同的效果。