python 参数库小记

从乌云社区里发现了一个python参数库docopt,看起来挺不错的,去google搜了下看到了一篇国外的Comparing Python Command-Line Parsing Libraries - Argparse, Docopt, and Click,文章里做了简单的对比及介绍,自己也小小的记录下。

文中介绍了3个参数库,1个位python自带,2个位第三方库,需要通过pip安装。

docopt 安装

1
pip install docopt

docopt demo code:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/usr/bin/env python3
# -*- coding : utf-8 -*-
# author:
# date: 2016/6/8
# filename: docopt_test.py
"""
Usage:
docopt_test.py tcp <host> <port> [--timeout=<seconds>]
docopt_test.py -h | --help | --version
"""
from docopt import docopt
if __name__ == '__main__':
arguments = docopt(__doc__,version='0.0.1')
print(arguments)

docopt 运行截图:

docopt_test.jpg

click 安装

1
pip install click

click demo code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/usr/bin/env python3
# -*- coding : utf-8 -*-
# author:
# date: 2016/6/8
# filename: click_test.py
import click
@click.group()
def greet():
pass
@greet.command()
def hello(**kwargs):
pass
@greet.command()
def goodbye(**kwargs):
pass
if __name__ == "__main__":
greet()

click 运行截图:

click_test.jpg

argparse 这个就是系统自己带的参数库

argparse demo code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/usr/bin/env python3
# -*- coding : utf-8 -*-
# author:
# date: 2016/6/8
# filename: argparse_test.py
import argparse
parser = argparse.ArgumentParser()
subparsers = parser.add_subparsers()
hello_parser = subparsers.add_parser("hello")
goodbye_parser = subparsers.add_parser("goodbye")
if __name__ == "__main__":
args = parser.parse_args()

argparse 运行截图:

argparse_test.jpg

上面2个第三方库不加参数运行默认是提示的,而argparse 不加参数运行时空提示。

自己感觉还是 docopt 不错哈~ 推荐使用。

×

打赏一下

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

文章目录
  1. 1. docopt 安装
  2. 2. docopt demo code:
  3. 3. docopt 运行截图:
  4. 4. click 安装
  5. 5. click demo code
  6. 6. click 运行截图:
  7. 7. argparse 这个就是系统自己带的参数库
  8. 8. argparse demo code
  9. 9. argparse 运行截图:
,