我正在尝试编写一个(命令行)python程序,该程序将接受来自用户的输入,同时仍在其上方打印数据.我正在尝试制作聊天程序.
例:
[stuff prints here]
hello
warning: the time is 27:64
Please enter your input: asdf
Run Code Online (Sandbox Code Playgroud)
所以我输入了asdf,但在输入时,上面的输出会继续更新.如果我想,我可以在生成输出时继续输入.然后如果我按回车键,就会发生其他事情.输入字段应始终低于输出文本; 如果显示更多文本,则输入字段被按下(但其内容保持不变).
我的想法是:
我意识到GUI会更容易做到.我可能最终只是用tkinter这样做了.但我仍然想知道在命令行的python中是否可以使用这种东西.
谢谢.
编辑:
我忘了提到我确实知道如何用回车符(\r)擦除文本.问题实际上是确保当我擦除行时,我不清除用户输入:所以如果在我打字时出现一个新行,我不希望我到目前为止输入的内容被删除.
解决此类问题的经典方法是: