如何在Python中正确传递参数

时间:2015-01-04 14:02:31

标签: python

我的脚本有问题。我想用参数(--color BLUE)打开我的程序。

颜色定义如下:

BLUE = bytearray(b'\x00\x00\xff')

解析器如下所示:

common_parser.add_argument('--color', dest='color', action='store', required=False, default=BLUE, help='set the color')

当我现在使用参数--color YELLOW启动脚本时,它只读取" Y"和它一起工作。它没有指向bytearray。我怎样才能正确传递?

1 个答案:

答案 0 :(得分:2)

定义颜色及其对应对象的字典:

COLORS = {
    'BLUE': bytearray(b'\x00\x00\xff'),
    'GREEN': bytearray(b'\x00\xff\x00'),
    'RED': bytearray(b'\xff\x00\x00')
}

add_argument来电更改为:

common_parser.add_argument('--color', dest='color', required=False, default="BLUE", help='set the color')

现在您可以使用参数按键查找颜色(两者都是字符串):

color = COLORS[args.color]

args是来自argparse的解析命令行参数。