Command line 多行进度条

Command line 多行进度条,command-line,progress-bar,Command Line,Progress Bar,我知道,要更新命令行上的进度条之类的内容,可以使用“\r”。有什么方法可以更新多行吗?您可以使用将光标重新定位到更高的行上,然后使用更新的状态对其进行透支。该库为控制台UI提供了强大的控制功能。最好的方法是使用一些现有的库,如ncurses。但您可以通过使用系统调用清除控制台来尝试肮脏的解决方法:system(“cls”)如果您正在使用Python,请尝试使用。这是一个非常直观的诅咒包装 简单的例子: 来自导入终端的 术语=终端() 带术语。位置(0,10): 打印(“第10行的文本”) 带术语

我知道,要更新命令行上的进度条之类的内容,可以使用“\r”。有什么方法可以更新多行吗?

您可以使用将光标重新定位到更高的行上,然后使用更新的状态对其进行透支。

该库为控制台UI提供了强大的控制功能。

最好的方法是使用一些现有的库,如ncurses。但您可以通过使用系统调用清除控制台来尝试肮脏的解决方法:
system(“cls”)

如果您正在使用Python,请尝试使用。这是一个非常直观的诅咒包装

简单的例子:

来自导入终端的

术语=终端()
带术语。位置(0,10):
打印(“第10行的文本”)
带术语。位置(0,11):
打印(“第11行的文本”)

如果您实际上试图实现进度条,请考虑使用 . 它将为您节省大量的

\r
积垢

实际上,您可以将祝福和progressbar连接在一起。尝试运行以下命令:

导入时间
从进口码头
从progressbar导入progressbar
术语=终端()
类编写器(对象):
“”“使用写入方法创建一个对象,该方法写入
屏幕上的特定位置,在实例化时定义。
这是祝福和进度条之间的粘合剂。
"""
定义初始化(自身,位置):
"""
输入:位置-整数的元组(x,y),位置
在终点站的酒吧
"""
self.location=位置
def写入(自身,字符串):
带术语.location(*self.location):
打印(字符串)
writer1=写入器((0,10))
writer2=写入器((0,20))
pbar1=ProgressBar(fd=writer1)
pbar2=ProgressBar(fd=writer2)
pbar1.start()
pbar2.start()
对于范围(100)内的i:
pbar1.更新(一)
pbar2.更新(一)
睡眠时间(0.02)
pbar1.finish()
pbar2.finish()

系统(“cls”)仅适用于Windows吗?OS X core Darwin与Unix兼容,它应该与其他类似Unix的系统一起具有“clear”功能。这太完美了!小更新:当前版本的
progressbar
希望文件句柄也具有
flush()
方法。