2016-05-07 2 views
3

У меня есть некоторые команды управления Django, которые вызывают методы в других классах для извлечения данных из API. Эти задачи могут занять много времени, и я хотел бы показать прогресс в консоли в сжатой форме.Отображение прогресса задачи из команды управления Django

я мог бы использовать print() вывести одну строку, как «неправдоподобным 22 из 3000», который пишет по себе, используя что-то вроде:

print('Fetched %d of %d' % (n, total) + ' '*30, end='\r') 

Но использование print() кажется немного противный, и он получает выход к при запуске тестов. Так что лучше использовать logging, но я не вижу способа использовать это, чтобы отображать одну, постоянно обновляемую линию «прогресс» в консоли.

Есть ли хороший способ сделать это?

ответ

4

Возможно, tqdm - полезный пакет python для вас.

+0

Я раньше этого не видел, и вы можете быть правы. Одно дело - я не уверен, как отключить его консольный вывод при выполнении модульных тестов. Есть идеи? –

+0

@PhilGyford вы можете установить аргумент 'disable = True'. – gaborous

Смежные вопросы