Я создаю простой чат на своем терминале между несколькими клиентами, используя Python.Проблема в том, что всякий раз, когда я печатаю сообщение, оно может быть перезаписано входящим сообщением в терминале.Однако это только визуально, так как, завершив мое сообщение и нажав клавишу ввода, все равно отправляет все мое сообщение.Как избежать перезаписи моего сообщения?
Я попытался использовать следующие строки выходного кода для настройки, чтобы напечатать любые входящие сообщения на какой-либо созданной новой строке:
sys.stdout.write("\033[F") #back to previous line
print("\n") #create a new line between second last and last line
print(msg) #print on new line any incoming messages
илитаким образом:
print("\r") #go back to line start
print("\n") #create a new line after last line (this also pushes any unfinished message to this new last line)
sys.stdout.write("\033[F") #back to previous line (empty now)
print(msg) #print on new line any incoming messages
но на самом деле это не сработало, как ожидалось.Я также пытался писать полученные сообщения только тогда, когда входной буфер (= последняя строка?) Пуст.У меня больше нет этого кода, так как он не работает, но он выглядит так:
while sys.stdin.buffer.read():
#do nothing
print(msg)