docopt 布尔参数 python
docopt boolean arg python
我使用 doctop
为我的脚本使用以下参数
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
但是我不知道如何在我的脚本中使用它。
编辑:
我最初的回答没有考虑到 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)
如果这对你有用,请告诉我。
并非所有选项都必须在 docopt
中包含参数。换句话说,您可以改用 flag 参数。这是从用户那里获取布尔值的最直接的方法。话虽如此,您只需执行以下操作即可。
"""
Usage:
GaussianMixture.py (--correction | --no-correction)
Options:
--correction With correction
--no-correction Without correction
-h --help Show help.
"""
import docopt
if __name__ == '__main__':
args = docopt.docopt(__doc__)
print(args)
我使用 doctop
为我的脚本使用以下参数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
但是我不知道如何在我的脚本中使用它。
编辑: 我最初的回答没有考虑到 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)
如果这对你有用,请告诉我。
并非所有选项都必须在 docopt
中包含参数。换句话说,您可以改用 flag 参数。这是从用户那里获取布尔值的最直接的方法。话虽如此,您只需执行以下操作即可。
"""
Usage:
GaussianMixture.py (--correction | --no-correction)
Options:
--correction With correction
--no-correction Without correction
-h --help Show help.
"""
import docopt
if __name__ == '__main__':
args = docopt.docopt(__doc__)
print(args)