Python 文件关键字参数?
Python file keyword argument?
在命令行中,我可以将参数传递给 python 文件,如下所示:
python script.py arg1 arg2
我可以在 script.py
中检索 arg1
和 arg2
为:
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 而不是整数
在命令行中,我可以将参数传递给 python 文件,如下所示:
python script.py arg1 arg2
我可以在 script.py
中检索 arg1
和 arg2
为:
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 而不是整数