命令行接口框架
cmdstyle的Python项目详细描述
注意:
此项目已被放弃且不受支持。 请改用argparse或docopt。
命令样式
CmdStyle是一个库,用于使用命令创建命令行接口 程序使用的样式,如svn或hg。
示例
示例文件:
#! /usr/bin/env python3.2 import sys import cmdstyle class HelloCommand(cmdstyle.Command): 'Print a greeting' name = cmdstyle.PosParam() shout = cmdstyle.Flag( description='Print the greeting in upper case', shortname='') exclamations = cmdstyle.Option( description='The number of exclamation marks used to end the ' 'greeting', default=1) def __call__(self): #Note that the library does not do validations exclamations_int = int(self.exclamations) greeting = 'Hello' if self.name: greeting += ', ' + self.name if self.shout: greeting = greeting.upper() greeting += exclamations_int * '!' print(greeting) class ByeCommand(cmdstyle.Command): 'Print bye' def __call__(self): print('Bye!') program = cmdstyle.Program( 'sample.py', 'Sample Program', 'Just a sample program', 'http://...') program.register(HelloCommand()) program.register(ByeCommand()) if __name__ == '__main__': program.run(sys.argv)
使用的样本:
$ ./sample.py Use `sample.py help` for usage. $ ./sample.py help usage: sample.py <command> [options] [args] Sample Program Just a sample program Available commands: bye hello Use `sample.py help <command>` for help on a specific command. See http://... for additional information. $ ./sample.py help hello hello: Print a greeting usage: hello NAME Options: --shout Print the greeting in upper case -e --exclamations ARG The number of exclamation marks used to end the greeting $ ./sample.py hello Hello! $ ./sample.py hello --shout --exclamations 3 HELLO!!!