gpt4 book ai didi

python - 元组的元组作为 argparse 命令行参数

转载 作者:行者123 更新时间:2023-12-01 01:42:39 28 4
gpt4 key购买 nike

我需要用户提供数字列表的列表作为命令行参数。

我当前采用的解决方案如下,问题是是否有更Pythonic或更标准的方法来实现它。

目前,我从命令行接受以逗号分隔的空格分隔数字列表,如下所示:

$ python foo.py --numbers '1 2 3, 4 5 6'

我内部也这样做

def list_of_lists(arg):
return map(lambda l: map(float, l), map(str.split, a.split(',')))

parser.add_argument('--numbers', type=list_of_lists)

将字符串“1 2 3, 4 5 6”转换为[[1,2,3],[4,5,6]]

最佳答案

你拥有的一切都很好。如果我写它,我会使用逗号和分号作为分隔符(严格要求:不允许空格),并使用列表理解进行解析:

def list_of_lists(arg):
return [float(x.split(',')) for x in arg.split(';')]

但这实际上只是装饰性的。

下一个问题是:您想在 list_of_lists 中进行多少验证?现在,这个简单的版本假设字符串正是您想要的格式。您可以添加更多逻辑来捕获错误,引发 argparse.ArgumentTypeError 来指示不正确的值。

关于python - 元组的元组作为 argparse 命令行参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51708634/

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