Czy istnieje metoda drukowania sformatowanych w formacie wyjściowym terminala do zmiennej?Jak wydrukować sformatowane w terminalu dane wyjściowe do zmiennej
print 'a\bb'
--> 'b'
Chcę, aby ciąg "b" do zmiennej - więc jak to zrobić?
Pracuję z ciągiem tekstowym z telnetu. Dlatego chcę pracować z ciągiem, który zostanie wydrukowany na ekranie.
Więc co szukam jest coś takiego:
simplify_string('a\bb') ==> 'b'
Innym przykładem z powrotu karetki:
simplify_string('aaaaaaa\rbb') ==> 'bbaaaaa'
Wszystkim, którzy publikują metody, aby po prostu uchwycić standardowe wyjście: brakuje ci sensu. Problem polega na uproszczeniu łańcucha w celu uwzględnienia * znaków sterujących terminalu *, a nie tylko przechwytywania 'sys.stdout'. – nneonneo
@nneonneo: jaki jest przykład, w którym przechwytywanie standardowego wyjścia nie ma wpływu na takie znaki? –
@DavidRobinson: każdy przypadek. Chce "\ b" faktycznie ** usunąć poprzedni znak **, skutecznie emulując zachowanie '\ b', ponieważ wpłynęłoby to na faktyczny terminal. Przechwytywanie 'sys.stdout' nie emuluje terminala, po prostu przechwytuje bezpośrednio wszystkie i wszystkie sekwencje kontrolne. – nneonneo