控制台脚本样板

csboilerplate的Python项目详细描述


控制台脚本样板文件

一些控制台脚本的样板文件。灵感来自现在未维护的pyCLI

修饰您的主函数,并在您的setup.py中将其注册为console_scripts。 入口点[1]。函数将接收一个app对象作为参数。

你得到:

  • PythonArgumentParser
  • KeyboardInterrupt被捕获
  • ^ {CD6> }被处理,以便上下文管理器将正确退出
  • 日志助手

exit_handlersigterm_handler可以自定义。

[1]https://setuptools.readthedocs.io/en/latest/setuptools.html#automatic-script-creation

示例

fromcsboilerplateimportcli_app@cli_app(name=__name__)defmain(app):app.logging_config(log_level=app.args.debug)# do your stuffmain.argparser.add_argument('-d','--debug',action='count',default=0,help='lower logging threshold, may be used twice')

开发环境

签出git并:

virtualenv .env -p python3
. .env/bin/activate
pip install -e .[dev]

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java传递位置作为FragmentPagerAdapter中片段的参数   html Java Jsoup循环打印   java如何使用FileOutputStream写入数据而不丢失旧数据?   java在测试用例类/方法中执行sql before/after/in   java在javafx中注册鼠标处理程序,但处理程序不是内联的   Android嵌入了一个C++库的java代码,不需要TopPLE程序来嵌入它?   片段类内部的java ProgressBar导致setMax方法出现NullPointerException?   带有google app engine的java Activator Play框架   java如何解析星级而不是字符串?   java如何在基本实体中定义通用主键字段?   通过扩展实现Java克隆   使用CipherOutputStream的java递归加密提供一个空字节[]   在运行时提取字段值的Java服务   Java 11和spring boot从spring boot应用程序的fat jar中的依赖项jar加载资源   java尝试使用J2SE枚举所有可用的Wifi网络   使用Java库进行SWIFT MT消息解析   java拆分非逗号分隔的字符串   java为什么toString()不能是静态方法?   java在连接到集群数据库时遇到mongo异常   java访问Hashmap中存储的json有效负载值