Пример написания скрипта на 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'
Комментариев нет:
Отправить комментарий