gpt4 book ai didi

python - argparse参数顺序

转载 作者:行者123 更新时间:2023-12-03 13:59:34 26 4
gpt4 key购买 nike

我有一点问题。

我使用argparse解析我的参数,并且运行良好。

要拥有args,我这样做:

p_args = parser.parse_args(argv)
args = dict(p_args._get_kwargs())


但是 p_args的问题是我不知道如何根据命令行中的位置来排列这些参数,因为这是命令。

那么,是否有可能在命令行中将参数放在元组/列表/有序dict中?

最佳答案

为了使参数保持有序,我使用如下自定义操作:

import argparse
class CustomAction(argparse.Action):
def __call__(self, parser, namespace, values, option_string=None):
if not 'ordered_args' in namespace:
setattr(namespace, 'ordered_args', [])
previous = namespace.ordered_args
previous.append((self.dest, values))
setattr(namespace, 'ordered_args', previous)
parser = argparse.ArgumentParser()
parser.add_argument('--test1', action=CustomAction)
parser.add_argument('--test2', action=CustomAction)


要使用它,例如:

>>> parser.parse_args(['--test2', '2', '--test1', '1'])
Namespace(ordered_args=[('test2', '2'), ('test1', '1')], test1=None, test2=None)

关于python - argparse参数顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9027028/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com