当然,这项工作的最佳工具是 pv 。如果您没有全局安装它的权限,您仍然可以只在您的用户目录中从源(没有sudo)构建和安装它,因为它是使用autoconf / automake安装的,所以你只需要跑 ./configure 同 --prefix=$HOME/bin 在制作之前安装。
pv
./configure
--prefix=$HOME/bin
但是,如果您真的想编写Python脚本,则需要考虑两个部分:进度条本身和进度条的数据。
对于进度条本身,@ Mntfr已经提到了 一个问题 这涵盖了这一点。
对于进度条信息,您需要一些方法来跟踪到目前为止已写入的数据量。因此,您需要一次写入较小的数量(例如,在更新进度条之前仅写入5MB),或者您需要异步跟踪输出文件的大小,并相应地更新进度条。第一种方法总体上可能较慢(因为它涉及启动和停止写入),但第二种方法可能更难(因为它需要在脚本中使用异步性,这在Python中实现并不是很有趣,除非您只编写两个脚本并运行他们并排)。这两个想法应该为您提供如何实现您正在寻找的东西的开始。