docopt不应用默认值

问题描述 投票:0回答:1

我有以下用法字符串:

    usage = """Usage: 
    counts_editing_precent_total_editing_to_csv.py out <output> files <pileupPercentFiles>... [--percentageField=<kn>] [--numReadsField=<kn>]
    counts_editing_precent_total_editing_to_csv.py -h | --help

Options:
     -h --help  show this screen.
     --percentageField=<kn>  the column of the percent field in the input file  [default: 7] .
     --numReadsField=<kn>  the column of the num of reads field in the input file  [default: 4] .

    """

然后执行此代码

    args = docopt(usage)
    print(args)

我运行以下命令:

python <filename>.py out a files a b c

输出为:

{'--help': False,
 '--numReadsField': None,
 '--percentageField': None,
 '-h': False,
 '<output>': 'a',
 '<pileupPercentFiles>': ['a', 'b', 'c'],
 'files': True,
 'out': True}

如您所见,未使用默认值。我还看到了类似这样的其他问题,解决方案是“在命令和描述之间有两个空格”,然后确保可以。我真的无法分辨我的示例与docs中出现的示例之间的区别。

python command-line-interface docopt
1个回答
0
投票

我运行了它,它起作用了。您确定将使用情况字符串放在文件顶部的from docopt import docopt之前吗?

© www.soinside.com 2019 - 2024. All rights reserved.