【发布时间】:2013-08-15 07:31:39
【问题描述】:
我可以使用\b 退回一个字符:
>>> print("123#456")
123#456
>>> print("123#\b456")
123456
但如果涉及换行符,则不起作用:
>>> print("123#\n456")
123#
456
>>> print("123#\n\b456")
123#
456
有没有办法去换行?
我问这个是因为我在上一行有进步:
53%
我使用\b 来更新值。但是如果有人打印了一些东西,它就会破坏它。我试图创建一个字符串缓冲区并打印足够的 '\b' 来补偿它,然后将缓冲区打印回来。但是如果有换行就不行了。
【问题讨论】:
-
通常,您避免打印换行符,或者使用诅咒。在 POSIX 系统上默认的面向行的文本模式下,您不能取回换行符。
-
您会看到命令行实用程序的 all 进度条的行为相同。使用
wget获取大文件,然后在下载时按回车键。 -
input.replace('\n', '') - 有帮助吗?
-
您可以尝试使用 '\033[1A' 回退一行(将 1 替换为要跳转的行数。它可能会在某些终端中断。
-
@StianE:让它成为答案,以便我接受。一些解释也会很棒。
标签: python line-breaks