Позиционные аргументы в питоне Docopt
Я пишу простой менеджер контактов командной строки. Я хочу иметь возможность добавить новый контакт с помощью следующей команды.manager.py add -n NAME -p PHONENUMBER
но всякий раз, когда я добавляю контакт, используя имя и фамилию, код выдает ошибки.
например. manager.py add -n emeka onwuzulike +23464715326
,
это мой кодUsage: manager.py add -n NANE -p PHONENUMBER
2 ответа
Проблема в том, что каждый аргумент разбивается на символ пробела, поэтому отправляется:
- добавлять
- -n
- Emeka
- onwuzulike
- +23464715326
у вас есть несколько вариантов, простейший из всех, что я могу придумать, это вместо использования пробела в имени, использования разделителя, такого как подчеркивание (_), а затем в вашем скрипте замените _ пробелом.
Или попробуйте инкапсулировать имя в кавычки, в зависимости от командной строки оно иногда будет обрабатываться как один аргумент. Из-за того, что на самом деле нам не дают никакого кода, я не могу проверить.
Чтобы достичь этого, вам нужно поставить строку один аргумент имени, как так
manager.py add -n 'emeka onwuzulike' -p 08064715300