Как добавить индикатор выполнения в загрузчике URL-адреса командной строки Python? - PullRequest
2 голосов
/ 06 декабря 2011

Я сделал простой загрузчик URL командной строки в Python. Когда пользователь вводит URL-адрес, он читает файл из Интернета и сохраняет его в виде строки, а затем сохраняет строку в файле на компьютере.

Я хочу добавить индикатор выполнения. Как мне это сделать?

Ответы [ 2 ]

2 голосов
/ 06 декабря 2011

Это очень базовая реализация индикатора выполнения в командной строке:

>>> def progress_bar(percentage, length):
...     filled = int(length / 100.0 * percentage)
...     return '#' * filled + '_' * (length - filled)
... 
>>> progress_bar(100, 80)
'################################################################################'
>>> progress_bar(10, 80)
'########________________________________________________________________________'
>>> progress_bar(0, 80)
'________________________________________________________________________________'
>>> progress_bar(50, 40)
'####################____________________'
>>> 

Если вы хотите, чтобы он отображался статически (т. Е. Вместо вывода новой строки для каждого обновления панели, чтобы перезаписывать одну и ту же строку снова и снова), вам следует заключить это в некоторую обработку curses .

1 голос
/ 06 декабря 2011
  1. Определите общий размер загружаемого файла.Это часто присутствует в заголовке HTTP Content-Length (в байтах).

  2. Сохраняйте общее количество загруженных данных до сих пор.

  3. Количество индикатора выполнения, которое должно быть заполнено в любой момент, определяется по формуле: (downloaded so far) / (total size), которая является числом от 0 до 1 включительно.

...