3

docopt を使用してスクリプトに次の引数を使用します

Usage:
GaussianMixture.py --snpList=File --callingRAC=File

Options:
-h --help     Show help.
snpList     list snp txt
callingRAC      results snp

スクリプトに条件付きの結果をもたらす引数を追加したいと思います: データを修正するか、データを修正しないでください。何かのようなもの :

Usage:
GaussianMixture.py --snpList=File --callingRAC=File  correction(--0 | --1)

Options:
-h --help     Show help.
snpList     list snp txt
callingRAC      results snp
correction      0 : without correction | 1 : with correction 

ifそして、いくつかの関数にスクリプトを追加したいと思います

def func1():
  if args[correction] == 0:
      datas = non_corrected_datas
  if args[correction] == 1:
      datas = corrected_datas

しかし、使用法にもスクリプトにも書き方がわかりません。

4

2 に答える 2

3

編集: 私の元の回答では、OP の --correction が必須であるという要件が考慮されていませんでした。元の回答では構文が間違っていました。テスト済みの動作例を次に示します。

#!/usr/bin/env python
"""Usage:
    GaussianMixture.py --snpList=File --callingRAC=File --correction=<BOOL>

Options:
    -h, --help          Show this message and exit.
    -V, --version       Show the version and exit
    --snpList         list snp txt
    --callingRAC      results snp
    --correction=BOOL Perform correction?  True or False.  [default: True]

"""

__version__ = '0.0.1'

from docopt import docopt

def main(args):
    args = docopt(__doc__, version=__version__)
    print(args)

    if args['--correction'] == 'True':
        print("True")
    else:
        print("False")

if __name__ == '__main__':
    args = docopt(__doc__, version=__version__)
    main(args)

これがうまくいくかどうか教えてください。

于 2016-12-07T17:10:30.323 に答える