为什么python会为\ i添加另一个反斜杠

时间:2015-02-12 07:56:26

标签: python

我以为我理解反斜杠逃避,但我没有得到这种行为:

foo = '\t'
当我在Python解释器中键入\t时,

给出相同的字符串(即foo),而

bar = '\i'

给出\\i。发生了什么?我想只有\i,因为我正在将它写入我正在编译的.tex文件中,这似乎搞乱了LaTeX命令。

编辑:实际上并没有弄乱我的乳胶,如下面的答案显示

1 个答案:

答案 0 :(得分:1)

"\t"是一个标签(一个字符),"\i"包含两个字符,第一个字符由__repr__转义。

In [51]: len("\t")
Out[51]: 1

In [52]: len("\i")
Out[52]: 2

编辑:如果您写入文件,您的输出就可以了。

with open("o.tex", "w") as o:
    o.write(">>>\t|\i|\t<<<\n")

o.tex的内容将是

>>>     |\i|    <<<

您可以看到两个标签\t为空格,而其他所有字符都是原样。