📜  Python:使用 argparse 的键值对

📅  最后修改于: 2022-05-13 01:54:29.662000             🧑  作者: Mango

Python:使用 argparse 的键值对

Python中的argparse模块有助于在命令行环境中创建程序,这种方式不仅易于编码,而且可以改善交互。当用户为程序提供无效参数时,它还会自动生成帮助和使用消息并发出错误。

使用 Argparse 模块的步骤:

  1. 创建解析器:导入 argparse 模块是处理该概念的第一种方法。导入它后,您必须创建一个解析器或 ArgumentParser 对象,该对象将存储必须从Python命令行传递的所有必要信息。
  2. 添加参数:下一步是用有关程序参数的信息填充 ArgumentParser。这意味着调用 add_argument() 方法。这些信息告诉 ArgumentParser 如何从命令行获取参数并将它们转换为对象。
  3. 解析参数:在通过 parse_args() 解析参数时存储和使用步骤 2 中收集的信息。数据最初以字符串格式存储在 sys.argv 数组中。使用命令行数据调用 parse_args() 首先将它们转换为所需的数据类型,然后调用适当的操作以产生结果。

使用 Argparse 的键值对:要将参数作为键值对,首先将输入作为字符串,并使用Python内置方法split() 我们将它分成两个单独的字符串,这里表示键和它的值。在下一步中,这些被制作成适合字典形式。

Python3
#importing argparse module
import argparse
  
# create a keyvalue class
class keyvalue(argparse.Action):
    # Constructor calling
    def __call__( self , parser, namespace,
                 values, option_string = None):
        setattr(namespace, self.dest, dict())
          
        for value in values:
            # split it into key and value
            key, value = value.split('=')
            # assign into dictionary
            getattr(namespace, self.dest)[key] = value
  
# creating parser object
parser = argparse.ArgumentParser()
  
# adding an arguments 
parser.add_argument('--kwargs', 
                    nargs='*', 
                    action = keyvalue)
  
 #parsing arguments 
args = parser.parse_args()
  
# show the dictionary
print(args.kwargs)


输出:

argparse 命令行