我想在命令行上传递字典。以下代码失败:
import json
import argparse
parser = argparse.ArgumentParser(description='Test Arg Parse')
parser.add_argument('-d', '--dict', type=dict, required=False)
variables = vars(parser.parse_args())
print json.dumps(variables)
当我运行程序时,它会抛出以下错误:
C:\KTLO\bin>python TestProg.py -d "{'a':'b'}"
usage: TestProg.py [-h] [-d DICT]
TestProg.py: error: argument -d/--dict: invalid dict value: "{'a':'b'}"
编辑1 :指定'json.loads'或'dict'不会改变输出,但仍然会抛出错误。
答案 0 :(得分:0)
尝试
python TestProg.py -d '{"a":"b"}'
单引号无效json。