gpt4 book ai didi

ipython - ipython 的 atexit 替代品

转载 作者:行者123 更新时间:2023-12-05 03:10:24 25 4
gpt4 key购买 nike

python 有 atexit在解释器关闭之前注册要运行的函数的模块。 This question很好,为什么不调用 atexit。

我想知道是否有 ipython 的替代方案在退出用 %run <name> 运行的东西之前注册一个函数?理想情况下,我想创建一个装饰器,它可以在任何一个寄存器中工作模块取决于解释器。

最佳答案

感谢 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')

关于ipython - ipython 的 atexit 替代品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40186622/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com