用于编写具有一致外观的命令行脚本的python实用程序。
cmdhelper的Python项目详细描述
Cmdhelper是一个python实用程序,用于使用 一致的样式、默认的命令行选项集和公共 测井方法。
Cmdhelper提供:
- 使用argparse或optparse解析命令行选项。
- 可以将stdout或stderr复制到的日志设置 日志文件。
- 完成后可以使用选项通过电子邮件发送日志消息 仅当严重性为或的日志消息 高于触发水平被记录。
- 一组默认选项的定义,包括要设置的选项 详细信息和日志记录选项。
- 运行外部命令的实用函数,其输出可以是 记录并分析错误消息。
- 请求用户确认操作的实用功能。
示例
用可选命令处理不同命令的脚本 参数可能包括:
from cmdhelper import * cmdHelper = CmdHelper('argparse', __version__) cmdHelper.add_argument('cmd', help='command') cmdHelper.add_argument('args', help='command arguments', nargs='*') cmdHelper.add_option('-x', '--example', dest='value', default=None, help='sample option') options = cmdHelper.parse() try: # processing goes here pass except Exception as e: handleError(e,options.debug)
使用–help运行上述代码将产生以下输出:
usage: example.py [-h] [--version] [-i] [-v] [--debug] [--noscreen] [--logfile LOGFILE] [--loglevel LOGLEVEL] [--logseparator LOGSEPARATOR] [--logtimestampfmt LOGTIMESTAMPFMT] [--emailto EMAILTO] [--emailsubject EMAILSUBJECT] [--emaillevel EMAILLEVEL] [--emailtriglevel EMAILTRIGLEVEL] [-x VALUE] cmd [args [args ...]] positional arguments: cmd command args command arguments optional arguments: -h, --help show this help message and exit --version show program's version number and exit -i, --interactive enter interactive Python at completion -v, --verbose verbose output --debug debugging output --noscreen disable logging output to screen --logfile LOGFILE write logging information to this file (default: ) --loglevel LOGLEVEL logging level for logfile (default: INFO or DEBUG) --logseparator LOGSEPARATOR message to write to logfile at beginning of new log --logtimestampfmt LOGTIMESTAMPFMT timestamp format string (in logging formatter format) --emailto EMAILTO email address receiving any log messages --emailsubject EMAILSUBJECT subject for log e-mails --emaillevel EMAILLEVEL logging level for e-mails (default: WARNING) --emailtriglevel EMAILTRIGLEVEL trigger level for sending e-mails (default: None) -x VALUE, --example VALUE sample option