我有一些 Django 管理命令,它们调用其他类中的方法来从 API 获取数据。这些任务可能需要很长时间才能完成,我想以简洁的方式在控制台中显示进度。
我可以使用print()
类似“Fetched 22 of 3000”这样的单行来输出覆盖自身的单行:
print('Fetched %d of %d' % (n, total) + ' '*30, end='\r')
但是使用print()
似乎有点讨厌,并且在运行测试时它会输出到控制台。所以使用logging似乎更好,但我看不到使用它在控制台中显示单个、不断更新的“进度”行的方法。
有没有很好的方法来做到这一点?