我有一小段代码似乎行为不当;我是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
)输出中删除时?
答案 0 :(得分:1)
您没有使用\b
删除字符;你只是支持一个职位。
所以字符会被下一个打印字符覆盖。添加一个空格,它可以工作:
>>> print "b%sa%sc%sk%ss%sl%sa%ss%sh%s " % bs