Eventuali duplicati:
backspace character weirdnessComportamento del backspace nell'istruzione Python, qual è il comportamento corretto della stampa di un ' b' nel codice?
ho notato che 1. Se stampare solo backspace, ossia una sequenza di \ b in Python, allora è completamente vuoto. 2. Se stampo caratteri seguiti da backspaces cioè 'sssss \ b \ b \ b \ b \ b \ b', allora stamperà i caratteri di più ' Ma se stampo qualcosa come' ssss \ b \ b \ b \ baaaa ', quindi il backspace, \ b, funzionerà come se stessi scrivendo un backspace e cancellando i caratteri di "s".
Sto usando Python 2.6 su Windows XP. È questo comportamento atteso. Se cerco di ottenere la lunghezza di carattere backspace, esso viene stampato come 1.
Ecco il mio codice di prova -
>>> 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'
>>>
La mia domanda è-Qual è il comportamento previsto quando stampo '\ b' in Python e perché la cancellazione funziona solo in un caso particolare?
Il backspace non cancella nulla, sposta il cursore a sinistra e viene sovrascritto da ciò che scrivi in seguito. – alexis
Certamente, ma la risposta non mi è piaciuta (l'autore sembra non aver mai sentito parlare di terminali cartacei), quindi ho aggiunto il mio qui. – alexis