ipython的atexit替代产品

magu_

python具有atexit模块,用于注册要在关闭解释器之前运行的功能。这个问题很好,为什么不调用atexit。

我想知道是否存在ipython退出已运行过的东西之前注册功能的替代方法%run <name>理想情况下,我想创建一个装饰器,该装饰器根据解释器在任一模块中工作寄存器。

magu_

感谢Thomas K的好评。万一他写一个答案,我会接受他的。否则,这段代码可能会使其他人受益:

# exit_register runs at the end of ipython %run or the end of the python interpreter
try:
    def exit_register(fun, *args, **kwargs):
        """ Decorator that registers at post_execute. After its execution it
        unregisters itself for subsequent runs. """
        def callback():
            fun()
            ip.events.unregister('post_execute', callback)
        ip.events.register('post_execute', callback)


    ip = get_ipython()
except NameError:
    from atexit import register as exit_register


@exit_register
def callback():
    print('I\'m done!')


print('Running')

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

是否有Spring ORM / JPA的后继产品或TopLinkJpaVendorAdapter的替代产品?

来自分类Dev

适用于JavaScript的OpenFrameworks替代产品

来自分类Dev

适用于Python的SignalR替代产品

来自分类Dev

FIX Engine和Scala:QuickfixJ的替代产品?

来自分类Dev

对于Windows Media Center替代产品的建议?

来自分类Dev

对于Windows Media Center替代产品的建议?

来自分类Dev

Chrome用户的ClickToPlugin Safari扩展的替代产品

来自分类Dev

Mac OS X Automator的替代产品?

来自分类Dev

Linux:MLC NAND上的UBIFS的替代产品

来自分类Dev

Windows Home Server Drive Extender的替代产品?

来自分类Dev

Ubuntu的Digital Photo Professional替代产品?

来自分类Dev

Lubuntu的Win + W(Super + W)替代产品

来自分类Dev

IPython Notebook中的OpenCV的waitKey()替代

来自分类Dev

适用于Ubuntu的LibreOffice Base的替代产品

来自分类Dev

产品过滤器的WHERE IN子句的替代方法

来自分类Dev

12.04之后仍将支持哪些Ubuntu替代产品

来自分类Dev

适用于Ubuntu的LibreOffice Base的替代产品

来自分类Dev

12.04之后仍将支持哪些Ubuntu替代产品

来自分类Dev

Sylius-产品构建器未使用预期的实体(替代)

来自分类Dev

产品过滤器的WHERE IN子句的替代方法

来自分类Dev

轻巧的X11替代产品可用吗?

来自分类Dev

Mozilla不再支持Ubuntu,成为Thunderbird的替代产品

来自分类Dev

R优化代码:查找最常用的项目集/替代产品

来自分类Dev

谁叫atexit()?

来自分类Dev

hp-probe查找打印机网络或替代产品

来自分类Dev

是否有BSD或MIT许可下发布的ZeroMQ的Python 2.7替代产品?

来自分类Dev

数字音频工作站:Ubuntu的Logic Pro或Cubase的替代产品?

来自分类Dev

是否有具有“返回值到服务器”功能的SignalR替代产品?

来自分类Dev

Python上PCL的替代产品,用于处理和可视化

Related 相关文章

  1. 1

    是否有Spring ORM / JPA的后继产品或TopLinkJpaVendorAdapter的替代产品?

  2. 2

    适用于JavaScript的OpenFrameworks替代产品

  3. 3

    适用于Python的SignalR替代产品

  4. 4

    FIX Engine和Scala:QuickfixJ的替代产品?

  5. 5

    对于Windows Media Center替代产品的建议?

  6. 6

    对于Windows Media Center替代产品的建议?

  7. 7

    Chrome用户的ClickToPlugin Safari扩展的替代产品

  8. 8

    Mac OS X Automator的替代产品?

  9. 9

    Linux:MLC NAND上的UBIFS的替代产品

  10. 10

    Windows Home Server Drive Extender的替代产品?

  11. 11

    Ubuntu的Digital Photo Professional替代产品?

  12. 12

    Lubuntu的Win + W(Super + W)替代产品

  13. 13

    IPython Notebook中的OpenCV的waitKey()替代

  14. 14

    适用于Ubuntu的LibreOffice Base的替代产品

  15. 15

    产品过滤器的WHERE IN子句的替代方法

  16. 16

    12.04之后仍将支持哪些Ubuntu替代产品

  17. 17

    适用于Ubuntu的LibreOffice Base的替代产品

  18. 18

    12.04之后仍将支持哪些Ubuntu替代产品

  19. 19

    Sylius-产品构建器未使用预期的实体(替代)

  20. 20

    产品过滤器的WHERE IN子句的替代方法

  21. 21

    轻巧的X11替代产品可用吗?

  22. 22

    Mozilla不再支持Ubuntu,成为Thunderbird的替代产品

  23. 23

    R优化代码:查找最常用的项目集/替代产品

  24. 24

    谁叫atexit()?

  25. 25

    hp-probe查找打印机网络或替代产品

  26. 26

    是否有BSD或MIT许可下发布的ZeroMQ的Python 2.7替代产品?

  27. 27

    数字音频工作站:Ubuntu的Logic Pro或Cubase的替代产品?

  28. 28

    是否有具有“返回值到服务器”功能的SignalR替代产品?

  29. 29

    Python上PCL的替代产品,用于处理和可视化

热门标签

归档