首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python -打印输出时读取用户输入

Python -打印输出时读取用户输入
EN

Stack Overflow用户
提问于 2014-01-25 21:55:29
回答 1查看 3.9K关注 0票数 9

我正在尝试编写一个(命令行) python程序,它将接受用户的输入,同时仍在上面打印数据。我正试着制作一个聊天程序。

示例:

代码语言:javascript
运行
复制
[stuff prints here]
hello
warning: the time is 27:64

Please enter your input: asdf

所以我输入了asdf,但是在输入时,上面的输出继续更新。如果需要,可以在生成输出时继续输入。如果我按enter键,还会发生其他事情。输入字段应该始终保持在输出文本的下方;如果显示了更多的文本,则输入字段将被向下推(但其内容保持在适当的位置)。

我的想法是:

  • 这需要某种非阻塞的阅读.
  • ...or,也许是线程?一个线程用于输入,一个用于输出。
  • 我是否需要做一些游标操作(即向上移动光标,打印输出,将光标返回到用户输入区域)?

我意识到GUI要容易得多。我可能会用tkinter来做这个。但是,我仍然在想,在命令行的python中,这种事情是否可能发生。

谢谢。

编辑:--我忘了提到我知道如何擦除带有回车(\r)的文本。问题是,当我擦除这一行时,我不会清除用户的输入:所以,如果在我输入时出现了一个新的行,我不希望删除到目前为止的输入。

EN

回答 1

Stack Overflow用户

发布于 2014-01-25 22:03:58

解决这一问题的经典方法是:

  • 让服务器模块侦听传入的请求,并打印输入
  • 有一个线程客户端模块(在我们的示例中,分到两个线程)。
  • 通过使用Python的线程库,客户端将能够同时运行。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21356745

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档