Python主函数命令行参数长列表

时间:2015-03-17 02:57:18

标签: command

我正在尝试为Caesars Shift加密程序创建一个简单的主函数,但是我不太确定如何配置所有这些命令行opt / arg的东西。我想配置程序接受命令行参数,如下所示:

./caesars.py -e 13 message to encrypt

以13为移位量,以下行为加密消息。我已定义了函数,但我不确定如何配置opt arg stuff以接受argv [1]之后的第一个参数作为键,然后将所有内容拆分为list / long字符串。以下是我到目前为止的情况:

def main():
    global decoder
    global encoder

    if not len(sys.argv[1:]):
        usage()

    # read the commandline options
    try:
        opts, args = getopt.getopt(sys.argv[1:],"hd:e:", ¬
        ["help","decode","encode"])
    except getopt.GetoptError as err:
        print str(err)
        usage()
    for o,a in opts:
        if o in ("-h","--help"):
            usage()
    elif o in ("-d","--decode"):
        decode = True
    elif o in ("-e", "--encode"):
        encode = True
    else:
        assert False,"Unhandled Option"

提前致谢。

1 个答案:

答案 0 :(得分:0)

如果您还没有,那么您应该查看docopt。虽然我自己从未使用它,但它非常受欢迎,应该非常适合你。