实现Golike defer函数。

pydefer的Python项目详细描述


pydefer公司

pydefer旨在模拟使用Golang的defer关键字所获得的相同体验。pydefer允许您在包装函数执行后围绕给定的包装函数执行函数。在

安装

$ pip install pydefer

或者

$ pipenv install pydefer

使用

下面是一个基本的例子,在调用print_sequence之后,使用defer打印[6,10]之间的数字序列(它调用[1,5]之间的数字序列)。在

>>>frompydefer.deferimportdefer>>>>>>@defer(print,6,7,8,9,10)...defprint_sequence():...print(1,2,3,4,5)...>>>print_seqeuence()12345678910

pydefer的一些更复杂的用例是能够关闭文件,而不必担心自己在实际函数中关闭它们。另一个用例可能是在用户访问不同的路由后对web应用程序进行会话管理。在

下面是前面提到的延迟关闭文件的更复杂的示例。在

^{pr2}$

在上面的例子中,您不需要管理函数内部的任何地方,因为defer函数包装器将在update_employee函数完成后为您关闭该文件。在

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

推荐PyPI第三方库


热门话题
我可以用C++代码使用java代码吗?   java使用JSR303在派生类中提供更具体的约束   java在这个查找唯一路径数算法中我做错了什么?   java如何为2个不同的服务提供商使用2个不同的SSL证书?   java在Gridview上绘制文本   java使用连接for循环构建字符串名   java StringBuilder拆分无法处理某些文件   java事件关注EditText   Java Web Start“找不到URL的缓存资源”   java程序从命令行运行的速度比在Eclipse中慢   java为什么HttpServletRequest会截断#字符上的url输入?   java自定义折叠工具栏平滑标题大小调整   使用Mockito对安卓 java中调用另一个静态函数的函数进行单元测试   http在java客户机中使用cachecontrol头   java如何使用。是否使用Delimiter从输入文件中排除标点符号和数字?   使用上下文作为参数/参数的java   java更有效地从Jar中提取文件   java为多个JButton提供相同的actionListener