app*_*der 10 python command-line keyword-argument
在命令行中,我能够将参数传递给python文件:
python script.py arg1 arg2
Run Code Online (Sandbox Code Playgroud)
我可以检索arg1并arg2在内部script.py:
import sys
arg1 = sys.argv[1]
arg2 = sys.argv[2]
Run Code Online (Sandbox Code Playgroud)
但是,我想将关键字参数发送到python脚本,并将它们作为字典检索:
python script.py key1=value1 key2=value2
Run Code Online (Sandbox Code Playgroud)
然后我想在python中访问关键字参数作为字典:
{'key1' : 'value1', 'key2' : 'value2'}
Run Code Online (Sandbox Code Playgroud)
这可能吗?
use*_*262 17
我认为您正在寻找的是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
Run Code Online (Sandbox Code Playgroud)
现在,如果您尝试:
$ python script.py --arg1 3 --arg2 4
Run Code Online (Sandbox Code Playgroud)
你会看见:
3
4
{'arg1': '3', 'arg2': '4'}
Run Code Online (Sandbox Code Playgroud)
作为输出.我认为这就是你所追求的.
但阅读文档,因为这是一个如何使用argparse 的非常淡化的例子.例如,我传入的'3'和'4'被视为str而不是整数
| 归档时间: |
|
| 查看次数: |
5858 次 |
| 最近记录: |