在控制台中动态更改行

时间:2017-06-27 14:24:14

标签: python

我目前正在构建一个小“聊天机器人”程序,其概念是它应该能够随时异步处理信息和输出。此外,用户可以随时输入输入。

我已经掌握了基本的机制,但是我在控制台看起来很不错。我希望它像以下一样工作:

  1. 每次机器人输出时,它都应出现在新的控制台线上。
  2. 用户文本输入行应始终位于控制台的最底部,(当然)您应该能够看到您正在键入的内容。
  3. 当用户发送输入时,输入的文本应在控制台中显示为新行,并且将创建新的输入行。
  4. 这是我目前正在使用的代码,但它非常错误:

    def writeToConsole(line,static=False):
      if static:
          sys.stdout.write("\r"+line)
      else:
          print("\r"+line)
    

    当“static”为False时,我想要写一个新行。如果是True,我希望输入行读作“line”。实际发生的是所有static = False行写入static = True行,但是超过新行长度的任何字符仍然存在。

    任何有助于实现我正在寻找的效果的帮助都会非常感激。

0 个答案:

没有答案