Python:使用 argparse 的键值对
Python中的argparse模块有助于在命令行环境中创建程序,这种方式不仅易于编码,而且可以改善交互。当用户为程序提供无效参数时,它还会自动生成帮助和使用消息并发出错误。
使用 Argparse 模块的步骤:
- 创建解析器:导入 argparse 模块是处理该概念的第一种方法。导入它后,您必须创建一个解析器或 ArgumentParser 对象,该对象将存储必须从Python命令行传递的所有必要信息。
- 添加参数:下一步是用有关程序参数的信息填充 ArgumentParser。这意味着调用 add_argument() 方法。这些信息告诉 ArgumentParser 如何从命令行获取参数并将它们转换为对象。
- 解析参数:在通过 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)
输出: