我正在将progressbar2与FormatCustomText一起使用。文本是参数化的(例如“%s”),要显示的字符串的宽度不同。你知道吗
假设在第一次迭代中,被替换的文本是“AA”。在第二次迭代中,文本是“B”
progressbar在第二次迭代中显示BA而不是B
有没有办法把光标右边的东西都清除到B后面的那一行的末尾?通常,这是通过control-K(chr(11))完成的。你知道吗
不幸的是,将chr(11)添加到FormatCustomText的字符串末尾会导致每次迭代都输出换行符。你知道吗
还有其他想法吗?你知道吗
Tags:
github上有一个better answer
在末尾打印“\033[K”
progressbar.ProgressBar(widgets=[format_custom_text, "\033[K"])
理想情况下,要替换的文本应具有基于终端宽度百分比的最大长度。我找到了一个方法来获得宽度,但可能有更好的方法!(How to get Linux console window width in Python)
这在python3+中起作用:
import shutil shutil.get_terminal_size((80, 20)) # Provide default values
相关问题 更多 >
编程相关推荐