我有一个小的交互式命令行应用程序,其中我使用prompt\u工具箱中的prompt函数来读取用户命令。有些命令会将线程侦听器打开到端口,并在它正在侦听的端口上出现某些内容时打印到屏幕上。我的问题是,这个打印会弄乱用户正在输入的当前行,也就是说会覆盖文本(缓冲区仍然在那里,所以你可以执行命令,但你不会看到什么是键入的)。我想要的行为是让听者把文本打印在输入行的上方一行。你知道吗
或者,换言之,存储当前写入的行,清除行和carrage return,打印收到的消息,newline然后打印存储的行。使用prompt\u toolkit可以吗?你知道吗
谢谢
我自己找到了答案,看了文件:)
如果将
promt()
调用包装在with patch_stdout():
块中,那么prompt\u工具箱的行为将完全符合我的要求。你知道吗所以解决办法是
相关问题 更多 >
编程相关推荐