一个简单的命令行选项处理器
clop的Python项目详细描述
$ pip install clop
$ pydoc clop
$ python -m clop # Run the demo
CLOP提供最小的命令行选项规范和处理。
当你的命令行处理需要一匹真正的马的国王的力量时, 在标准python库中使用argparse。
当把两个椰子片放在一匹小马上足够好的时候, 用氯气。
指定命令行选项的单个类, 对这些选项处理命令行, 并将处理的结果作为dict提供。 还为每个选项和调用程序提供简单的帮助字符串。
"""Your program.""" from clop import Clop ... # Make a Clop object. clp = Clop() # Specify acceptable options and their arguments. clp.addOptionDef(letter = 'k', required = True, numArgs = 3, help = 'Help for option k') ... # optArgs is a dictionary of options and arguments optArgs = clp.processCmdLine(sys.argv[1:]) ... # Print the help string when you need it. helpStr = clp.helpString('clop:\nShort demo of the clop module.') print(helpStr) clop: Short demo of the clop module. REQUIRED OPTIONS: k: Help for option k Allowed arguments: Exactly 3 m: Help for option m Allowed arguments: Exactly 1 n: Help for option n Allowed arguments: 0 or more OPTIONAL OPTIONS: o: Help for option o Allowed arguments: Exactly 0 p: Help for option p Allowed arguments: Exactly 1 q: Help for option q Allowed arguments: 0 or more
CLOP在其main()函数中包含一个演示:
$ python -m clop -k 1 2 3 -mone-two-n 3 4 5 -o-p 1 -q "one two"
{'k': ['1', '2', '3'], 'm': ['one-two'], 'o': [], 'n': ['3', '4', '5'], 'q': ['one two'], 'p': ['1']}
- 选项包括短划线和单个字母:-o
- 选项后面可以跟零个或多个参数。
- 选项只能用其字母(-o)指定。否–长选项。
- 选项字母可以是字母.isalpha()为真的任何“字母”。
- 无法组合选项。每个破折号只有一个字符,而不是-olmp。
- 选项可以按任意顺序显示在命令行上。
- 命令行中的选项和参数是字符串。 调用程序执行任何类型和值检查和转换 命令行处理后的参数。 除了允许的选项和参数之外,clop不做任何判断。
不太可能有更多的clop特性。如果你需要更多,argparse非常好, 带着一匹真正的马。