Python atexit模块

atexit模块介绍

作用:让注册的函数在解释器正常终止时自动执行,可以注册多个函数,所注册的函数会逆序执行(据查资料,造成逆序的原因为函数压栈造成的,先进后出)

1、正常注册 ,示例如下。

def goodbye(name, adjective):
    print("Goodbye %s, it was %s to meet you."% (name, adjective))

def hello():
    print(‘hello world!‘)

def a():
    print(‘a‘)

import atexit
atexit.register(goodbye, ‘Donny‘, ‘nice‘)
atexit.register(a)
hello()
# 输出
PS E:\Atom\files\app> python .\ex9_atexit.py
hello world!
a
Goodbye Donny, it was nice to meet you.

2、可以使用装饰器来注册,但是只适用于没有参数时调用。

import atexit

@atexit.register
def hello():
    print(‘Hello world!‘)

# 输出
PS E:\Atom\files\app> python .\ex9_atexit.py
Hello world!

3、取消注册, 示例如下。

def goodbye(name, adjective):
    print("Goodbye %s, it was %s to meet you."% (name, adjective))

def hello():
    print(‘hello world!‘)

def a():
    print(‘a‘)

import atexit
atexit.register(goodbye, ‘Donny‘, ‘nice‘)
atexit.register(a)
atexit.register(a)
atexit.register(a)
hello()
atexit.unregister(a)
# 输出
PS E:\Atom\files\app> python .\ex9_atexit.py
hello world!
Goodbye Donny, it was nice to meet you.

这个模块一般用来在程序结束时,做资源清理。

原文地址:https://www.cnblogs.com/Frange/p/9371072.html

时间: 2024-11-08 23:07:43

Python atexit模块的相关文章

atexit模块解析

atexit模块很简单,只定义了一个register函数用于注册程序退出时的回调函数,我们可以在回调函数中做一些资源清理的操作. 注意回调函数只有正常退出的时候才会调用,如果程序是被信号杀死或者因为严重错误导致退出,或者使用os._exit()退出程序的时候,回调函数不会调用. 我们也可以通过sys.exitfunc来注册回调,但通过它只能注册一个回调,而且还不支持参数.所以建议大家使用atexit来注册回调函数.但千万不要在程序中同时使用这两种方式,否则通过atexit注册的回调可能不会被正常

python常用模块初始

1.getpass(密文输入) import getpass                                    #导入getpass模块,用于密文输入 name = input("input your name:") passwd = getpass.getpass("input your passwd:")    #密文输入 print (name,passwd) 2.OS模块 #!/bin/bash/env python #_*_ codin

python 常用模块及方法

******************** PY核心模块方法 ******************** os模块: os.remove()         删除文件 os.unlink()         删除文件 os.rename()         重命名文件 os.listdir()        列出指定目录下所有文件 os.chdir()          改变当前工作目录 os.getcwd()         获取当前文件路径 os.mkdir()          新建目录 os

python 各模块

01 关于本书 02 代码约定 03 关于例子 04 如何联系我们 1 核心模块 11 介绍 111 内建函数和异常 112 操作系统接口模块 113 类型支持模块 114 正则表达式 115 语言支持模块 12 _ _builtin_ _ 模块 121 使用元组或字典中的参数调用函数 1211 Example 1-1 使用 apply 函数 1212 Example 1-2 使用 apply 函数传递关键字参数 1213 Example 1-3 使用 apply 函数调用基类的构造函数 122

Python主要模块和常用方法简览

原文地址:http://blog.csdn.net/hwhjava/article/details/22284399 PY核心模块方法1. os模块: os.remove() #删除文件 os.unlink() #删除文件 os.rename() #重命名文件 os.listdir() #列出指定目录下所有文件 os.chdir() #改变当前工作目录 os.getcwd() #获取当前文件路径 os.mkdir() #新建目录 os.rmdir() #删除空目录(删除非空目录, 使用shuti

Day05 - Python 常用模块

1. 模块简介 模块就是一个保存了 Python 代码的文件.模块能定义函数,类和变量.模块里也能包含可执行的代码. 模块也是 Python 对象,具有随机的名字属性用来绑定或引用. 下例是个简单的模块support.py 1 def print_func( par ): 2 print("Hello : ", par) 3 return 1)import 语句 想使用 Python 源文件,只需在另一个源文件里执行 import 语句,语法如下: import module1[, m

Python 主要模块和常用方法简览

1 ******************** 2 PY核心模块方法 3 ******************** 4 os模块: 5 os.remove() 删除文件 6 os.unlink() 删除文件 7 os.rename() 重命名文件 8 os.listdir() 列出指定目录下所有文件 9 os.chdir() 改变当前工作目录 10 os.getcwd() 获取当前文件路径 11 os.mkdir() 新建目录 12 os.rmdir() 删除空目录(删除非空目录, 使用shuti

python 主要模块和方法

******************** PY核心模块方法 ******************** os模块: os.remove() 删除文件 os.unlink() 删除文件 os.rename() 重命名文件 os.listdir() 列出指定目录下所有文件 os.chdir() 改变当前工作目录 os.getcwd() 获取当前文件路径 os.mkdir() 新建目录 os.rmdir() 删除空目录(删除非空目录, 使用shutil.rmtree()) os.makedirs() 创

python 各模块学习

核心模块 1.1. 介绍 1.2. _ _builtin_ _ 模块 1.3. exceptions 模块 1.4. os 模块 1.5. os.path 模块 1.6. stat 模块 1.7. string 模块 1.8. re 模块 1.9. math 模块 1.10. cmath 模块 1.11. operator 模块 1.12. copy 模块 1.13. sys 模块 1.14. atexit 模块 1.15. time 模块 1.16. types 模块 1.17. gc 模块