python-3.x - 在 Python 中覆盖以前打印的行
问题描述
我正在编写一个允许用户选择一个选项的包。IE。
print("What is your favourite singer?")
print("Sia")
print("> Rachel Platten")
print("Parade Of Lights")
在这种情况下,“Rachel Platten”被选为歌手,但是当用户按下“向上”键时,我想重写标准输出中的文本以将 Sia 显示为选定的歌手。
我怎样才能做到这一点?
谢谢
解决方案
所以,我找到了解决这个问题的方法。将 x 先前写入的行刷新/擦除到标准输出:
ERASE_LINE = "\x1b[2K"
for i in range(1, x):
print(f"\x1b[{i}A{ERASE_LINE}")
推荐阅读
- python - 短程序的 Python 循环问题
- java - 拆分字符串行列表并将单词添加到新列表
- git - 是否应该在 git 的 .history 文件夹中跟踪文件
- php - 如何在 Laravel 中显示通知?
- javascript - 在Javascript中按年份过滤对象
- python - 尝试在 Python 包中读取 JSON 文件
- javascript - CSS 变换: translateX(向右);
- xml - 忽略 xpath 选择器中的命名空间不起作用
- angular - 缺少 npm 对等依赖项:@angular/core@^6.0.3,videogular2@6.4.0 需要 - 它在骗我
- java - 在scrollView中绘制画布线的问题