gpt4 book ai didi

Python argparse 通过命令行传递列表或字典

转载 作者:行者123 更新时间:2023-12-04 16:43:19 26 4
gpt4 key购买 nike

我看到了有关使用 argparse 库将字典和列表传递给 Python 的问题。这些示例都显示了我的 Python 代码的样子。但是没有人告诉我它们在命令行上的样子。我在哪里需要大括号、方括号和引号?

所以如果我想要参数 --my_dict 和 --my_list 我将如何将它们指定为从命令行调用?

这是我想要完成的事情的本质:

Python foo.py --my_dict="{'Name': 'Zara', 'Class': 'First'}" --my_list="['a', 'b', 'c']"

最佳答案

你可以使用 ast.literal_eval安全地将用户输入的字符串转换为 Python 字典和列表:

import argparse
import ast
parser = argparse.ArgumentParser()
parser.add_argument('--my_dict', type=ast.literal_eval)
parser.add_argument('--my_list', type=ast.literal_eval)
args = parser.parse_args()
print(args)

运行

% python script.py --my_dict="{'Name': 'Zara', 'Class': 'First'}" --my_list="['a', 'b', 'c']"

产量

Namespace(my_dict={'Name': 'Zara', 'Class': 'First'}, my_list=['a', 'b', 'c'])

关于Python argparse 通过命令行传递列表或字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54656510/

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