实现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
函数完成后为您关闭该文件。在
- 项目
标签: