Python ArgumentParser - 错误 - 缺少参数?

问题描述 投票:0回答:2

我正在尝试运行此代码:

ap = argparse.ArgumentParser()

ap.add_argument("-q", "--query", required=True, help="search query to search Bing Image API for")

ap.add_argument("-o", "--output", required=True, help="path to output directory of images")

args = vars(ap.parse_args())

我收到这个错误:

usage: ipykernel_launcher.py [-h] -q QUERY -o OUTPUT

ipykernel_launcher.py: error: the following arguments are required:
-q/--query, -o/--output

我试图查看ArgumentParser文档(here),但找不到我的答案。有人能帮助我吗?

python argparse
2个回答
0
投票

您必须启动提供错误消息中指示的参数的应用程序。在您的代码中,两个参数都是required。因此,您必须提供它们才能运行该应用程序。

这是它可能期待的

python ipykernel_launcher.py -q "<query>", -o "<dir>"

注意,上面的<query><dir>是填充物。您必须提供内联查询的应用程序定义的查询。 -o标志表示要求传递目录。因此,它可以像./output一样简单或这些线之间的东西。


0
投票

您将required选项设置为true:

ap.add_argument("-q", "--query", **required=True,** help="search query to search Bing Image API for")
ap.add_argument("-o", "--output", **required=True**, help="path to output directory of images")

(**增加了可见性)写作

ap.add_argument("-q", "--query", **required=False,** help="search query to search Bing Image API for")
ap.add_argument("-o", "--output", **required=False**, help="path to output directory of images")

相反,应该解决问题。除非您希望它们是必需的,否则您必须使用参数调用脚本。

© www.soinside.com 2019 - 2024. All rights reserved.