Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 20, 2012 15:04:59

plusplus
От:
Зарегистрирован: 2009-01-05
Сообщения: 418
Репутация: +  15  -
Профиль   Отправить e-mail  

Вопросы по argparse.

1) Можно ли использовать аргументы без черточек? Например "run.py target=http://ya.ru task=search" ?
2) Не могу понять как сделать, чтобы один из нескольких аргументов обязательно присутствовал. То есть run.py url=http://ya.ru либо run.py ip=50.50.50.50



Офлайн

#2 Ноя. 20, 2012 17:13:57

adray
Зарегистрирован: 2012-09-15
Сообщения: 123
Репутация: +  18  -
Профиль   Отправить e-mail  

Вопросы по argparse.

1) можно использовать что-нибудь кроме черточек (через prefix_chars)

 ap = argparse.ArgumentParser(prefix_chars='-+')
2)
modes = ap.add_mutually_exclusive_group(required=True)
modes.add_argument('-d', '--digits', action='store_const',
                       const='digits', dest='mode')
modes.add_argument('-p', '--phrases', action='store_const',
                       const='phrases', dest='mode')
ap.add_argument('+s', '++stats', action='store_true',
                    dest='stats')

Отредактировано adray (Ноя. 20, 2012 17:14:23)

Офлайн

#3 Ноя. 20, 2012 17:37:25

s0rg
От:
Зарегистрирован: 2011-06-05
Сообщения: 777
Репутация: +  25  -
Профиль   Отправить e-mail  

Вопросы по argparse.

Хоть adray уже и ответил, оставлю тут эту ссылку.

Офлайн

#4 Ноя. 20, 2012 19:43:28

plusplus
От:
Зарегистрирован: 2009-01-05
Сообщения: 418
Репутация: +  15  -
Профиль   Отправить e-mail  

Вопросы по argparse.

Спасибо и за ссылку и за ответы. А скажите, зачем нужен shlex.split ? Просто собираюсь использовать argparse для юникодных строк, а shlex с ними не работает. Почему нужно передавать shlex.split(value), а не просто value.split()?



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version