python - 解析非预定义参数

标签 python argparse

Python中有没有可以解析sys.argv中随机键值对的库?

例如:

 python run.py --v1 k1 --v2 k2 --v3 k3

应该返回给我一个像 {v1->k1, v2->k2, v3->k3} 这样的字典。在编译时我不知道那些“v”是什么。

谢谢!

埃尔本

最佳答案

这有点hacky,但你确实有这个:

import argparse
import collections
parser = argparse.ArgumentParser()
known, unknown_args = parser.parse_known_args()

unknown_options = collections.defaultdict(list)
key = None
for arg in unknown_args:
    if arg.startswith('--'):
        key = arg[2:]
    else:
        unknown_options[key].append(arg)

关于python - 解析非预定义参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21920989/

相关文章:

基于ubuntu的docker容器中的python argparse

Python/Pandas - 堆叠条上不同的标签颜色

python - 将 2 个 csv 文件与一个唯一列但不同的标题合并

python - 如何获取多列

python - 扩展 Python : pre-load my C module

python - 使用 argparse 的 `add_subparsers` 方法实现两个位置参数

python - 如何将 %d 添加到 argparse 帮助文本

python - 在 argparse 中获取剩余的参数

python - Easygui输入错误

python - 使用 optparse 或 argparse 使用同一选项处理多个参数