覆盖 Stdout 上的先前输出
在 Python 中, print() 函数的默认行为是在每次调用后开始一个新行。但是,某些情况需要覆盖同一行上的先前输出。
简单覆盖
要覆盖上一行,请将“r”(回车符)附加到print() 的结束参数。此回车符将光标移动到当前行的开头,而不开始新的一行。
for x in range(10): print(x, end='\r') print()
行清理
当新文本短于前一行,它可能会留下旧文本的残余。要清除任何剩余字符,请将“x1b[1K”(清除到行尾)附加到结束参数。
for x in range(75): print('*' * (75 - x), x, end='\x1b[1K\r') print()
长换行
换行指行自动延续到行尾之后。要防止换行并强制连续字符覆盖现有字符,请使用 'x1b[7l' 禁用换行并使用 'x1b[7h' 重新启用换行。
print('\x1b[7l', end='') # disable line wrap print('\x1b[7h', end='') # re-enable line wrap
注意: 必须手动重新启用换行以防止端子损坏。此外,这些解决方案仅控制当前行的长度,不会溢出到后续行。
以上是如何覆盖 Python 的 print() 函数中先前的输出?的详细内容。更多信息请关注PHP中文网其他相关文章!