如何在当前正在输入的输入后面打印输出?

时间:2019-04-26 15:54:12

标签: python

我有一个简单的套接字,并且想要一个不错的输入/输出控制台。 我正在使用线程分别处理发送和接收数据。

当用户输入一些输入内容时,套接字可以接收任何数量的数据(将在控制台上打印)。如果发生这种情况,则在键入输入后将打印接收到的数据,并且控制台将变得混乱。

我想将输出打印在输入后面(仍然不发送)。

我发现这个问题/答案非常适合我的问题,但这仅在打印输出最多为1行的情况下有效。

Python: How to print without overwriting current typed input?

示例

def listen():
    while True:
        sleep(1)
        print("A really long string. Let's pretend I have a pretty small
                console, so this string would take up to 3 lines to be printed")

def write():
    while True:
        input('Data to send: ')

预期产量

用户尚未输入任何内容,因此控制台显示:

Data to send: _

然后,用户开始输入内容:

Data to send: AC2-13135-im_

突然,一些消息到达(在用户完成键入他的消息之前)。 然后,控制台应打印:

A really long string. Let's pretend I have a pretty
small console, so this string would
take up to 3 lines to be printed
Data to send: AC2-13135-im_

但是,现在,它只是打印:

Data to send: AC2-13135-imA really long string. Let's pretend I have a pretty
small console, so this string would
take up to 3 lines to be printed_

有什么办法可以做到这一点?

0 个答案:

没有答案