跳转到主要内容

简单的脚本参数解析器

项目描述

scription

轻量级的命令行脚本增强库;包括参数到指定数据类型的转换、参数检查、与用户的基本输入/输出、suid [1] 支持、发送电子邮件、执行子程序以及在脚本内拥有子命令

装饰器

  • Script: 为命令设置全局变量和/或参数;装饰的函数将在任何指定的命令之前由Main/Run调用

  • Command: 将函数标记为脚本的子命令(例如,添加、删除、列表等);如果命令行上未指定子命令,scription将寻找与脚本同名的命令

  • Alias: 为命令注册其他名称(例如,删除 / 移除 / 杀死)

函数

  • Main: 如果导入模块的 __name__ 是 __main__,则调用 Run()(这允许将脚本作为模块导入)

  • Run: 无条件尝试运行 Script 函数(如果有)和命令行上找到的命令

Main() 或 Run() 应该是脚本中的最后一件事

  • Spec: 定义命令行参数时可以使用(也可以直接使用元组)

辅助函数/类

  • abort: 通过引发 SystemExit 立即退出

  • 执行:用于执行其他程序的类;默认使用 subprocess.Popen,但如果指定 pty=True,则使用 pty.fork(适用于仅接受 pty 输入的程序)

  • get_response:显示文本并获取反馈的函数

  • help:立即退出,但在退出信息中添加对 –help 的引用

  • log_exception:使用 logging.logger 记录异常

  • mail:简单的邮件发送器

  • OrmFile:轻量级 ORM – 支持 str、int、float、date、time、datetime、bool 和 path(默认为 str);也可以指定自定义数据类型

  • print:围绕 print 的包装,添加了 'verbose_level' 关键字(默认:1);默认详细程度为 0(因此 print 不做任何操作),但可以通过 -v、-vv、–verbose 或 –verbose=2(在 Python 2 中,脚本必须使用 ‘from __future__ import print_function’ 来使用 script 的 print)来增加

  • user_ids:适用于 suid 脚本的上下文管理器 – 在上下文中执行的所有操作都以指定的用户/组身份运行

功能

  • Script 定义的额外参数是全局的,可以从任何函数或 Command 中访问

  • ‘module’ 是插入到脚本中的命名空间

  • ‘script_command’ 是从命令行选择的 Command(当需要从 main() 函数直接调用子命令时很有用)

  • ‘script_command_name’ 是 script_command 的名称

  • ‘script_verbosity’ 是选择的详细程度(默认为 0)

  • ‘script_name’ 是脚本的名称

  • 内置选项包括:–help、–verbose (-v 或 -vv)、–version、–all-versions –version 尝试显示正在使用的主包的版本 –all-versions 尝试显示任何导入包的版本

  • 在 Python 2 中,命令行被解码为 Unicode(Python 3 会为我们这样做)

[1] 我使用 suid-python 程序,可在以下网址找到:http://selliott.org/python/suid-python.c

项目详情


发布历史 发布通知 | RSS 源

下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

scription-0.86.26.tar.gz (65.9 kB 查看哈希值)

上传时间: 源代码

构建分发

scription-0.86.26-py3-none-any.whl (65.4 kB 查看哈希值)

上传时间: Python 3

scription-0.86.26-py2-none-any.whl (65.4 kB 查看哈希值)

上传时间: Python 2

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面