如何覆盖最后一个打印行的问题已被问到并得到回答(例如here),但是似乎所有答案都假设您以类似长度的内容覆盖了最后一行,例如在进行中指标,“完成2%”会覆盖“完成1%”。
但是,我想打印可变长度的语句,例如"Now reading file path/to/xxx/file.ext..."
,其中下一个文件名可能更短。
如果我使用简单的方法,先打印"Now reading ./path/with/many/long-named/subdirectories/version/LongFileNameAsWell.ext..."
,然后打印"Now reading ./file.ext..."
,结果是一行显示
Now reading ./file.ext... ng-named/subdirectories/version/LongFileNameAsWell.ext
一种解决方法是在我所有的打印字符串后面加上空格,但是我需要确保我没有换行,同时仍然有足够的空格来覆盖整个文件名。所有这些都会增加很多开销,bug的余地等等。
有没有Python的方法可以做到这一点?
为了记录,我在Windows的Ipy控制台上的Spyder上使用Python 3.7