Python 文件关键字参数?

Python file keyword argument?

在命令行中,我可以将参数传递给 python 文件,如下所示:

python script.py arg1 arg2

我可以在 script.py 中检索 arg1arg2 为:

import sys
arg1 = sys.argv[1]
arg2 = sys.argv[2]

但是,我想将关键字参数发送到 python 脚本,并将它们作为字典检索:

python script.py key1=value1 key2=value2

然后我想在 python:

中访问关键字参数作为字典
{'key1' : 'value1', 'key2' : 'value2'}

这可能吗?

我认为您正在寻找的是 argparse 模块 https://docs.python.org/dev/library/argparse.html

它将允许您使用命令行选项和参数解析。

例如假设 script.py

如下
import argparse

if __name__ == '__main__':
   parser = argparse.ArgumentParser()
   parser.add_argument('--arg1')
   parser.add_argument('--arg2')
   args = parser.parse_args()

   print args.arg1
   print args.arg2

   my_dict = {'arg1': args.arg1, 'arg2': args.arg2}
   print my_dict

现在,如果您尝试:

  $ python script.py --arg1 3 --arg2 4

你会看到:

3
4
{'arg1': '3', 'arg2': '4'}

作为输出。我想这就是你想要的。

但请阅读文档,因为这是一个 非常 如何使用 argparse 的淡化示例。例如,我传入的“3”和“4”被视为 str 而不是整数