import sys,optget
Модуль sys предоставляет нам структуру argv. Первый ее элемент мало интересен, это имя скрипта, а вот дальше пойдет компрамат на юзверя:) Но python этим не ограничивается, в нем есть интересная фича: name option, это и позволяет нам предложить пользователю написать не myprog 1 1 2, myprog --mode 1 --depth 1 --time 2 . A как все это реализовать на практике?
Смотрим следующий скрипт:
import sys,getopt
def Test ():
options,args=getopt.getopt(sys.argv[1:],' ', ['a=', 'b=', 'c=', 'd='])
print options
for option,value in options:
if option=='--a':
print 'a=',value
elif option=='--b':
print 'b',value
elif option=='--c':
print 'c',value
elif option=='--d':
print 'd',value
Test()
Что происходит? Объект getopt возвращает нам аргументы командной строки в виде списка двухэлементных кортежей, где первый элемент имя параметра, а второй его значение. А далее мы проходим циклом for по списку, и в две переменные считываем по два элемента из каждого кортежа, а при помощи оператора if ...elif предпринимаем необходимые действия. В переменную option считывается имя параметра, а в переменную value само значение. А что попадает в переменную args? Там находятся все значения командной строки, которые не имеют своего ключа. Удачи в использовании Python
Комментариев нет:
Отправить комментарий