2012-05-05

пример запуска python скрипта с параметрами


Пример написания скрипта на 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'


Комментариев нет:

Отправить комментарий