善待你的配偶-在需要的时候给你的命令行脚本一些gui反馈。

spousefriendl的Python项目详细描述


https://img.shields.io/pypi/v/spousefriendly.svg

对你的配偶(或其他需要运行脚本的人)要友好——必要时给你的命令行脚本一些gui反馈。

动机

开发人员通常喜欢从终端运行脚本。此外, 对于这类python脚本,如果出了问题,最简单的是 要做的是让它“笨拙地”失败,在这一点上你会得到一个有用的stacktrace 屏幕。如果它顺利,它应该退出而不打印任何东西。

如果你的配偶或朋友只想双击一个图标,这两个 行为会很混乱。他们通常想要确认 工作完成了,如果没有,应该会显示出某种不错的错误 信息。

这个包提供了一些简单的包装器(通常是上下文管理器),以便 你可以两全其美。

基本用法

采取典型的脚本:

def main():
    # Stuff here


if __name__ == '__main__':
    main()

只需将对main的呼叫包装成一个友好的、友好的、成功的和失败的block:

import spousefriendly

if __name__ == '__main__':
    with spousefriendly.friendly_success_and_failure():
        main()

如果从终端运行,行为不会改变。从图形用户界面, 但是(如从文件管理器启动),退出后将获得成功。 消息,或故障消息(如果适用)。

详细用法

friendly_success_and_failure由两个上下文管理器组成:

spousefriendly.friendly_success(success_message='Optional success message')

spousefriendly.friendly_failure(failure_message='Optional failure message')

success_messagefailure_message也可以传递给 friendly_success_and_failure作为关键字参数。合理的违约是 未提供时使用。

限制

显然,上下文管理器无法防止发生任何事情 超出其范围(如导入错误等)。

待办事项

Windows支持!这是最明显的一个。因为我不用窗户,所以 不能测试这个。我放了一些基本的东西,但是 可能不行。

历史记录

0.1.0(2015-01-11)

  • pypi上的第一个版本。

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

推荐PyPI第三方库


热门话题
java变量始终存储0值。为什么?   如何使用Java/REST将Azure blob从一个存储容器移动到另一个存储容器?   java将commons DBCP从1.2升级到1.4,我应该害怕吗?   java如何使用分隔符拆分字符串?   java使用数组读取json对象   java在groovy中切片字符串   交换数组java的两个邻域元素   java移动用于确定字符串是否为回文的逻辑   java Android应用程序在一个活动中崩溃   java Sparkjava将webapp文件夹设置为静态资源/模板的文件夹   java复杂条件表达式,用户易用。   java如何仅在表存在时从表中选择值   java I无法将数据从Recyclerview传递到其他活动   java数据结构最佳设计(大数据)   java Android从DatePickerDialogFragment中删除日历视图   java将数据从Firebase获取到片段   数组。sort()在java中运行不正常