Хотел бы поделиться простым, но полезным инструментом. Когда много работаешь с данными, часто возникают примитивные, но долгие операции, например: «скачать 10 000 урлов», «прочитать файл на 2Гб, и что-то сделать с каждой строчкой», «распарсить 10 000 html-файлов и достать заголовки». Долго смотреть в зависший терминал тревожно, поэтому долгое время я использовал следующий гениальный код:
def log_progress(sequence, every=10):
for index, item in enumerate(sequence):
if index % every == 0:
print >>sys.stderr, index,
yield item
![][1] Эта функция прекрасна, больше года она кочевала у меня из задачи в задачу. Но недавно я заметил в стандартной поставке Jupyter виджет IntProgress и понял, что пора что-то менять: ![][2] [Читать дальше →][3]
[1]:
https://habrastorage.org/files/41d/b19/857/41db19857a664e74b03d763e7243f0c3.gif
[2]:
https://habrastorage.org/files/fde/8d9/be6/fde8d9be6e4f4cae9bc1c169bfd6a688.gif
[3]:
https://habrahabr.ru/post/276725/#habracut