TypeError: __init__() got an unexpected keyword argument 'choices' in python's argparser

TypeError: __init__() got an unexpected keyword argument 'choices' in python's argparser

import argparse

parser = argparse.ArgumentParser()
parser.add_argument('-u', '--url',help='Passing one url')
parser.add_argument('-t', '--type', action='store_true',help='To download pages/posts', choices=['pages', 'posts'])
args = parser.parse_args()

url = args.url

if args.type == "pages":
    url_link = url + "/wp-json/wp/v2/pages/?per_page=100"
if args.type == "posts":
    url_link = url + "/wp-json/wp/v2/posts/?per_page=100"

如果用户选择“页面”,则应使用页面 url_link。如果他们选择“posts”,它应该通过“posts”url_link。如果他们什么都不选择,则会在 --type 错误中处理“请选择您的类型”。

我试过这样做,但它说选择未知。奇怪...请帮助。

Ps - 这是我在 Whosebug 上的第一个问题。如果我有任何错误请原谅我,请评论更正。

当操作为 'store_true' 时指定选项没有意义。

也许你的意思是:

parser.add_argument('-t', '--type', help='To download pages/posts',
                    choices=['pages', 'posts'])