首页 > 解决方案 > 使用 argparse 定义文件的路径

问题描述

我有以下一段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 as 运行我的整个代码(base) C:\Users\user\Desktop\doc>python script_name.py,我总是得到以下错误:

错误:需要以下参数:-p/--detector

如何更新上述代码?任何帮助将不胜感激。

标签: pythonanacondaargumentsargparse

解决方案


参数的名称是-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

推荐阅读