Я создаю интерфейс командной строки списка дел, и для удаления записи из списка требуется аргумент del. Использование CLI показано ниже.
$ ./todo help
Usage :-
$ ./todo add "todo item" # Add a new todo
$ ./todo ls # Show remaining todos
$ ./todo del NUMBER # Delete a todo
$ ./todo done NUMBER # Complete a todo
$ ./todo help # Show usage
$ ./todo report # Statistics
Но в python (я использую python 3.8.3) при использовании модуля argparse для анализа аргументов из командной строки код для указанной выше функции выглядит следующим образом.
parser.add_argument("--del", type=int, help="Delete a todo")
Проблема возникает из-за того, что del является зарезервированным ключевым словом python для совершенно другой цели, поэтому при чтении этой строки кода возникает синтаксическая ошибка.
print (args.del)
изображение выделения синтаксиса
Сообщение об ошибке выглядит следующим образом
File "todo.py", line 24
if args.del:
^
SyntaxError: invalid syntax
изображение синтаксической ошибки
Есть ли решение использовать del в соответствии с требованиями проекта.
del
— зарезервированное ключевое слово. - person juanpa.arrivillaga   schedule 31.12.2020del
наdelete
, посколькуdel
является зарезервированным ключевым словом - person Vaebhav   schedule 31.12.2020dest=
, чтобы изменить возможное имя аргумента на незарезервированное ключевое слово docs. python.org/3/library/argparse.html#dest - person Iain Shelvington   schedule 31.12.2020