Я пытаюсь использовать библиотеку argparse в python для чтения необязательных и обязательных аргументов. Пока делаю так:
import argparse
parser = argparse.ArgumentParser(description='Cleanup Script for Folder')
parser.add_argument('PATH_TO_WORKDIR_ROOT', type=str, dest='PATH_TO_WORKDIR_ROOT', action='store', help='(absolute or) relative path to directory \n to work on, e.g. "..\MyFolder\\"')
parser.add_argument('--PATH_TO_BACKUP_ROOT', type=str, dest='PATH_TO_BACKUP_ROOT', action='store', help='(absolute or) relative path to Backup-Directory \n default is ".\BACKUP\"')
args = parser.parse_args()
Сейчас я тестирую свой код, и он дает мне ошибку значения, которую я не понимаю:
$ python argparsetest.py --help
Traceback (most recent call last):
File "argparsetest.py", line 5, in <module>
parser.add_argument('PATH_TO_WORKDIR_ROOT', type=str, dest='PATH_TO_WORKDIR_ ROOT', action='store', help='(absolute or)
relative path to directory \n to wo rk on, e.g. "..\MyFolder\\"')
File "C:\Program
Files\Enthought\Canopy\App\appdata\canopy-1.3.0.1715.win-x86_
64\lib\argparse.py", line 1262, in add_argument
raise ValueError('dest supplied twice for positional argument') ValueError: dest supplied twice for positional argument
Есть только один позиционный аргумент, его нет и места назначения разные. Я не особо понимаю хлопот :)
Заранее большое спасибо!
--
вPATH_TO_WORKDIR_ROOT
, например--PATH_TO_WORKDIR_ROOT
- person Siva Cn   schedule 03.01.2017add_argument
методу. Первая строка - этоdest
, и вам не разрешено снова определять ее с помощью параметра ключевого слова. docs.python.org/3/library/argparse.html#dest - person hpaulj   schedule 03.01.2017