Я создаю python script, где я хочу иметь аргумент, который манипулирует количеством результатов поиска, которые вы получаете в качестве вывода. В настоящее время я назвал аргумент --head
. Это функциональность, которую я хотел бы иметь:
-
Когда
--head
не передается в командной строке, я бы хотел, чтобы оно по умолчанию было одним значением. В этом случае довольно большой, например 80 -
Когда
--head
передается без какого-либо значения, я бы хотел, чтобы оно по умолчанию использовало другое значение. В этом случае что-то ограниченное, например 10 -
Когда
--head
передается со значением, я бы хотел, чтобы он сохранил переданное значение.
Вот какой код описывает проблему:
>>> import argparse
>>> parser = argparse.ArgumentParser()
>>> parser.add_argument('-h',
'--head',
dest='size',
const=80,
default=10,
action="I don't know",
help='Only print the head of the output')
>>> # OFC, that last line will fail because the action is uknown,
... # but here is how I'd like it to work
... parser.parse_args(''.split())
Namespace(size=80)
>>> parser.parse_args('--head'.split())
Namespace(size=10)
>>> parser.parse_args('--head 15'.split())
Namespace(size=15)
Я знаю, что, возможно, я могу написать для этого настраиваемое действие, но сначала хочу увидеть, есть ли поведение по умолчанию, которое делает это.