“\ b”在字符串中表现不当

时间:2013-02-11 21:38:42

标签: python string python-2.7 escaping

我有一小段代码似乎行为不当;我是Python的新手,想象我忽略了一些东西。代码是:

bs = ("\b", "\b", "\b", "\b", "\b", "\b", "\b", "\b", "\b");
print "b%ra%rc%rk%rs%rl%ra%rs%rh%r" % bs;
print "b%sa%sc%sk%ss%sl%sa%ss%sh%s" % bs;

当我在Powershell中运行时,输出为:

b\x08a\x08c\x08k\x08s\x08l\x08a\x08s\x08h\x08
h

为什么最后h\b在使用字符串(h)输出时评估为%s,当它看起来应该从原始(%r)输出中删除时?

1 个答案:

答案 0 :(得分:1)

您没有使用\b删除字符;你只是支持一个职位。

所以字符会被下一个打印字符覆盖。添加一个空格,它可以工作:

>>> print "b%sa%sc%sk%ss%sl%sa%ss%sh%s " % bs