对你配偶好——在需要时为你的命令行脚本提供一些GUI反馈。
项目描述
对你配偶好(或需要运行你脚本的任何其他人)——在需要时为你的命令行脚本提供一些GUI反馈。
免费软件:ISC许可证
动机
开发者通常喜欢从终端运行脚本。此外,对于这类Python脚本,如果出了问题,最简单的方法是让它“不优雅”地失败,此时你会在屏幕上得到有用的堆栈跟踪。如果一切顺利,它应该什么也不打印就退出。
对于只想双击图标来运行脚本的配偶或朋友来说,这两种行为都会让人感到困惑。他们通常需要确认它已经运行并完成,如果失败了,应该显示一些友好的错误信息。
此软件包提供了一些简单的包装器(通常是上下文管理器),这样您可以同时获得这两者的优点。
基本用法
取一个典型的脚本
def main(): # Stuff here if __name__ == '__main__': main()
只需在spousefriendly.friendly_success_and_failure块中包装对main的调用
import spousefriendly if __name__ == '__main__': with spousefriendly.friendly_success_and_failure(): main()
如果从终端运行,行为将没有变化。然而,从GUI(例如从文件管理器启动)退出时,会有成功消息,或适当的失败消息。
详细用法
friendly_success_and_failure 组合了两个上下文管理器
spousefriendly.friendly_success(success_message='Optional success message') spousefriendly.friendly_failure(failure_message='Optional failure message')
成功消息(success_message)和失败消息(failure_message)也可以作为关键字参数传递给友好成功和失败(friendly_success_and_failure)。如果未提供,将使用合理的默认值。
限制
显然,上下文管理器无法保护其作用域之外发生的事情(例如导入错误等)。
待办事项
Windows支持!这是最明显的一个。由于我不使用Windows,我没有测试这个。我加入了一些基本的东西,但可能不起作用。
历史记录
0.1.0 (2015-01-11)
首次发布在PyPI。