Я пытаюсь понять функциональность (или ошибку?) Аргумента python's argparse.Python Argparse строгое имя переменной
Вот мой простой код:
import argparse
parser = argparse.ArgumentParser(usage="%(prog)s [--start]", add_help=False)
parser.add_argument("--start", help="Start prog", action="store_true")
arguments = parser.parse_args()
start_fpc = arguments.start
print arguments
Когда я выполнить этот сценарий, как start
и star
аргументы принимаются:
[ rsenet 2015-08-28 12:39:50] /tmp
$ python test.py --star
Namespace(start=True)
[ rsenet 2015-08-28 13:59:16] /tmp
$ python test.py --start
Namespace(start=True)
Любая идея, почему? Если да, можно ли отключить эту функцию?
Кажется, из-за https://docs.python.org/2.7/library/argparse.html#argument-abbreviations- prefix-matching, но там нет упоминания о том, как его предотвратить. –
Возможный дубликат [Отключить аббревиатуру] (http://stackoverflow.com/questions/10750802/disable-abbreviation) –
Да, это происходит от аббревиатуры, но невозможно отключить его в python 2.X:/ – RegisS