在utils和tcltk包中,有进度条相关的函数,比如txtProgressBar、tkProgressBar……,但是这类函数应该不是你要的。
进度条显示的前提条件是,或者你能预估代码执行时间,然后根据执行时间计算进度,或者你能提取到代码中与进度相关的某个参数,然后根据这个参数的取值范围计算进度。第一种情况,显然是不现实的,代码本身、数据结构、内存管理、线程管理、硬件计算能力等等,太多影响因素了,而且如果能够预估执行时间的话,也就不需要进度条功能了,看表就行。第二种情况,比如说针对循环类代码,一般可以用循环指针i来实现。
但是你要的是针对单个命令行的进度,就需要提取到这个命令执行过程中的某个参数,显然无法针对这种情况设定通用的进度条指令。实际上,单个命令很大可能内嵌的是循环指令,这需要对具体函数本身的代码进行分析和提取,只能说理论上是可以的。
从另一个角度讲,如果一行代码执行慢,再加上进度条相关的代码,不是更慢了吗。
所以,还是要从代码优化的方向上考虑如何解决问题。