【问题标题】:Delete last character printed in python 3.6 [duplicate]删除python 3.6中打印的最后一个字符[重复]
【发布时间】:2018-10-18 14:23:18
【问题描述】:

我正在尝试删除我在 python 中从上一行打印的最后一个字符,例如,如果我打印 ("hello world") 我会得到 hello world 输出,但我想知道在它被输出之后是否有办法删除输出末尾的 d 所以它现在只会说 hello worl... 总之有没有办法删除已打印行的结束字符?

谢谢

【问题讨论】:

标签: python python-3.x


【解决方案1】:

无法对已输出的数据执行操作,因为它没有作为变量存储在内存中。但是,您可以覆盖屏幕上打印的位置(如果您正在处理诸如终端之类的东西)以“删除”旧数据。

您可以在代码中添加和调用以下函数,以将文本发送到终端显示屏上的特定位置:

import sys

def PrintLocate(row, column, text):
    sys.stdout.write("\x1b7\x1b[%d;%df%s\x1b8" % (row, column, text))
    sys.stdout.flush()

# Elsewhere
PrintLocate(13, 37, "Hello World")
PrintLocate(13, 37 + len("Hello Worl"), " ")

【讨论】:

  • 第一部分很明显;这是OP想要的第二部分。那么,该怎么做呢?
  • 你怎么知道的?
  • 嗯...我不知道,但不是相当明显OP不想覆盖一个字符“打印”到纸上,而是想用print 函数将上次打印的内容覆盖到终端?
  • 可能不是纸,但可能是 Visual Studio 中的“输出”选项卡……我只是用纸来解释一个概念。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-26
  • 1970-01-01
  • 1970-01-01
  • 2018-10-17
  • 1970-01-01
  • 2011-08-01
  • 2021-08-21
相关资源
最近更新 更多