如何在python 3中获取参数,如myscript.py -i input.txt?

时间:2017-06-13 10:20:02

标签: python command-line-interface args

我希望我的脚本采用像:

这样的args
python myscript.py -i input.fastq -q 23 -l 30 -o outfile.fastq

不喜欢

    python myscript.py input.fastq 23 30 outfile.fastq

在python中有没有可用的包?

1 个答案:

答案 0 :(得分:1)

您可以使用argparse:

例如python myscript.py -s customscriptvalue

    import argparse

   # Parse arguments
    parser = argparse.ArgumentParser(description='Script options')  
    parser.add_argument('-s', '--script', help='Custom Script to execute', default=None)
    result = parser.parse_args()

    # Treat Arguments in your script
    arguments = dict(result._get_kwargs())
    if arguments['script'] is not None:
        scriptMode = True
        scriptPath = arguments['script']

请参阅 https://docs.python.org/3/library/argparse.html