Определение пути к файлу с помощью argparse - PullRequest
0 голосов
/ 09 марта 2020

У меня есть следующий фрагмент кода python:

 # construct the argument parse and parse the arguments
ap = argparse.ArgumentParser()
ap.add_argument("-p", "--detector", required=True,
    help="path to detector .dat file")
ap.add_argument("-a", "--warning", type=str, default="",
    help="path to warning .WAV file")
ap.add_argument("-w", "--webcam", type=int, default=0,
    help="index of webcam on system")
args = vars(ap.parse_args())

У меня есть два файла с именами "detector.dat" и "warning.wav ", которые находятся в папке на моем рабочем столе с именем "doc". Таким образом, путь к двум файлам C:\Users\user\Desktop\doc.

Следовательно, мое обновление приведенного выше кода выглядит следующим образом:

# construct the argument parse and parse the arguments
ap = argparse.ArgumentParser()
    ap.add_argument("-p", "--detector", required=True,
        help="C:/Users/user/Desktop/doc/detector.dat")
    ap.add_argument("-a", "--warning", type=str, default="",
        help="C:/Users/user/Desktop/doc/warning.wav")
    ap.add_argument("-w", "--webcam", type=int, default=0,
        help="index of webcam on system")
    args = vars(ap.parse_args())

Обратите внимание, что мой основной код с именем "script_name.py" также находится в папке "doc" на моем рабочем столе.

При запуске всего кода с помощью Anaconda Prompt в качестве (base) C:\Users\user\Desktop\doc>python script_name.py я всегда получаю следующую ошибку:

ошибка: требуются следующие аргументы: -p / - детектор

Как мне обновить вышеуказанный код? Любая помощь будет очень признательна.

1 Ответ

1 голос
/ 09 марта 2020

Имя аргумента: -p или --detector для файла .dat и a или --warning для файла .wav вместо help, как вы использовали. Итак, запустите:

python script_name.py "C:/Users/user/Desktop/doc/detector.dat" "C:/Users/user/Desktop/doc/warning.wav"

Для получения дополнительной справки запустите:

python script_name.py --help
...