Optparse
Материал из PythonWiki.
[править]
Краткая информация
OptParse - мощный и удобный парсер командной строки. Автоматически генерирует информацию по использованию (--help).
[править]
Использование
Код с комментариями:
from optparse import OptionParser
usage = "usage: %prog [options] username"
parser = OptionParser(usage=usage) # Если не передать параметр usage, то будет использовать строку по умолчанию
parser.add_option("-p", "--password", action="store", dest="passwd", help="User password")
parser.add_option("-d", "--dir", action="store", dest="dir", help="Homedir")
Тут первые два параметра - соответственно, длинное и короткое имя опции.
- action - что делать с принятым значением (тут можно увидеть полный список)
- dest - имя переменной, куда будет сохранено принятое значение
- type - тип переменной: string, int и т.д.
- default - значение по умолчанию. Если не задано, будет None.
- help - сообщение, которое будет выдаваться по вызову справки
(options, args) = parser.parse_args()
Функция parse_args обрабатывает массив argv, и возвращает объект optparse.Values, содержащий все опции, и массив аргументов. К примеру, если строка вызова была "program.py -p asdf test", то элемент args[0] будет равен test, а переменная options.passwd будет равна "asdf".
Проверку на введение данных можно сделать, например, так:
try:
name = args[0]
except IndexError:
parser.print_help()
print "*** Username is required"
sys.exit()
Функция print_help выводит на экран информацию об использовании. Вывод выглядит примерно так:
usage: ftpadd.py [options] username
options:
-h, --help show this help message and exit
-p PASSWD, --password=PASSWD
User password
-d DIR, --dir=DIR Homedir
-u UID, --uid=UID UID for user
-g GID, --gid=GID GID for user
-f QFILES, --quota-files=QFILES
Quota files
-s QSIZE, --quota-size=QSIZE
Quota size
-c COMMENT, --comment=COMMENT
Commentary: name of organization, contacts

