【发布时间】:2020-06-20 22:00:27
【问题描述】:
我有以下一段 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/--detector
如何更新上述代码?任何帮助将不胜感激。
【问题讨论】:
-
你能告诉我们你是如何运行你的脚本的吗?您已将参数
-p/--detector标记为必需。看起来当您启动脚本时,您没有传递此参数。add_argument的help参数是解释参数代表什么的帮助文本,而不是实际值的占位符。 -
您是从 IDE 还是从终端运行脚本?
-
来自 Anaconda Prompt (Anaconda3) 的@Brian
-
@Brian 我解决了我的问题。我应该使用:python script_name.py -p detection.dat -a alarm.wav
标签: python anaconda arguments argparse