Пример написания скрипта на python, который при запуске спросит у пользователя параметры. В данном скрипте обязательным параметром является '-u' или '--link'. Назначение скрипта - закачка файла по протоколу http и сохранение файла в файл по-умолчанию (update.tar.gz) или можно задать любое имя файла после ключа '-f'. Функцию загрузчика я взял по ссылке
#!/usr/bin/python #-*- coding: utf8 -*- def params(): import argparse parser = argparse.ArgumentParser() parser.add_argument('-u', '--link',required=True, dest='URL', help='Введите URL в кавычках.') parser.add_argument('-f', '--filename', required=False, dest='FILE', help='Имя создавайемого файла. Если не задано, то используется update.tar.gz') args = parser.parse_args() URL = args.URL if args.FILE == None: FILE = 'update.tar.gz' else: FILE = args.FILE return URL, FILE def download(): import urllib, time start_t = time.time() def progress(bl, blsize, size): dldsize = min(bl*blsize, size) if size != -1: p = float(dldsize) / size try: elapsed = time.time() - start_t est_t = elapsed / p - elapsed except: est_t = 0 print "%6.2f %% %6.0f s %6.0f s %6i / %-6i bytes" % (p*100, elapsed, est_t, dldsize, size) else: print "%6i / %-6i bytes" % (dldsize, size) urllib.urlretrieve(params()[0], params()[1], progress) download()
пример запуска:
#python uploader.py -u "http://cdimage.debian.org/debian-cd/6.0.4/amd64/iso-cd/debian-6.0.4-amd64-CD-1.iso" -f debian.iso
в результате в текущую директорию сохранится файл с названием 'debian.iso'
Комментариев нет:
Отправить комментарий