【发布时间】:2015-09-06 13:35:00
【问题描述】:
我有一个 Django 管理命令,它进行了相当多的处理,所以我让它以百分比的形式输出它的进度。我想使用答案here 或here 中描述的技术。我知道from the Django docs 在管理命令中使用sys.stdout 需要替换为self.stdout,但我仍然没有运气。它是 python 2.7,所以我不能把 end kwarg 给 print。这是我在 Command 对象的handle 中尝试过的事情之一:
i = 0
for thing in query:
self.stdout.write("\r%%%s" % (100 * float(i) / float(query.count()))
i += 1
我尝试了类似问题的答案中描述的其他几种技术,包括使用ANSI escape sequences。 Django 管理命令打印输出的方式有什么特别之处吗?怎样才能达到我想要的效果?
【问题讨论】: