Duplicar posible:
backspace character weirdnessComportamiento de retroceso en la instrucción Python, ¿cuál es el comportamiento correcto de imprimir un ' b' en el código?
me he dado cuenta de que 1. Si imprimir sólo las teclas de retroceso, es decir, una secuencia de \ b en Python, entonces es completamente en blanco. 2. Si imprimo caracteres seguidos de espacios en retroceso, por ejemplo, 'sssss \ b \ b \ b \ b \ b', imprimirá los caracteres múltiples Pero si imprimo algo como 'ssss \ b \ b \ b \ baaaa ', entonces el retroceso, \ b, en realidad actuará como si estuviera escribiendo un retroceso y borre los caracteres' s '.
Estoy usando Python 2.6 en Windows XP. Es este comportamiento esperado Si trato de obtener la longitud de carácter de retroceso, se imprime como 1.
Aquí está mi código de prueba -
>>> print 'ssss\b\b\b\b\baaaaa'
aaaaa
>>> print 'ssssssss\b\b\b\b\baaaaa'
sssaaaaa
>>> print 'ssssssss\b\b\b\b\b'
ssssssss
>>> print 'ssssssss\b\b\b\b\baaaaa'
sssaaaaa
>>> print '\b\b\b\b\b'
>>>
Mi pregunta es- ¿Cuál es el comportamiento esperado cuando imprimo '\ b' en Python y por qué la eliminación funciona solo en un caso particular?
El retroceso no elimina nada, mueve el cursor hacia la izquierda y se sobrescribe con lo que escriba después. – alexis
Ciertamente lo es, pero no me gustó la respuesta (el autor parece que nunca escuchó sobre terminales de copia impresa), así que agregué la mía aquí. – alexis