该模块定义了注册和注销清理函数的函数。这样注册的函数会在正常的 vm 终止时自动执行。
这些函数的运行顺序与它们注册的顺序相反;如果您注册A
, B
, 和C
, 它们将按照C
, B
,的顺序运行 A
。
在这些板上可用
- ARAMCON Badge 2019
- ARAMCON2 Badge
- ATMegaZero ESP32-S2
- Adafruit CLUE nRF52840 Express
- Adafruit Circuit Playground Bluefruit
- Adafruit Circuit Playground Express 4-H
- Adafruit CircuitPlayground Express
- Adafruit CircuitPlayground Express with Crickit libraries
- Adafruit CircuitPlayground Express with displayio
- Adafruit EdgeBadge
- Adafruit Feather Bluefruit Sense
- Adafruit Feather M0 Express
- Adafruit Feather M0 Express with Crickit libraries
- Adafruit Feather M4 CAN
- Adafruit Feather M4 Express
- Adafruit Feather MIMXRT1011
- Adafruit Feather RP2040
- Adafruit Feather STM32F405 Express
- Adafruit Feather nRF52840 Express
- Adafruit FunHouse
- Adafruit Grand Central M4 Express
- Adafruit Hallowing M4 Express
- Adafruit ItsyBitsy M0 Express
- Adafruit ItsyBitsy M4 Express
- Adafruit ItsyBitsy RP2040
- Adafruit ItsyBitsy nRF52840 Express
- Adafruit LED Glasses Driver nRF52840
- Adafruit Macropad RP2040
- Adafruit MagTag
- Adafruit Matrix Portal M4
- Adafruit Metro ESP32S2
- Adafruit Metro M0 Express
- Adafruit Metro M4 Airlift Lite
- Adafruit Metro M4 Express
- Adafruit Metro nRF52840 Express
- Adafruit Monster M4SK
- Adafruit PyGamer
- Adafruit PyPortal
- Adafruit PyPortal Pynt
- Adafruit PyPortal Titano
- Adafruit Pybadge
- Adafruit QT Py M0 Haxpress
- Adafruit QT Py RP2040
- Adafruit QT2040 Trinkey
- Adafruit Trellis M4 Express
- AloriumTech Evo M51
- Arduino Nano 33 BLE
- Arduino Nano RP2040 Connect
- Artisense Reference Design RD00
- AtelierDuMaker nRF52840 Breakout
- BDMICRO VINA-D21
- BDMICRO VINA-D51
- BLE-SS dev board Multi Sensor
- BastBLE
- BastWiFi
- BlueMicro840
- CP Sapling M0 w/ SPI Flash
- CP32-M4
- Capable Robot Programmable USB Hub
- Cedar Grove StringCar M0 Express
- Challenger RP2040 WiFi
- Circuit Playground Express Digi-Key PyCon 2019
- CircuitBrains Basic
- CircuitBrains Deluxe
- CrumpS2
- Cytron Maker Pi RP2040
- DynOSSAT-EDU-EPS
- DynOSSAT-EDU-OBC
- ESP 12k NodeMCU
- Electronic Cats Hunter Cat NFC
- Electronut Labs Blip
- Electronut Labs Papyr
- EncoderPad RP2040
- Espruino Pico
- Espruino Wifi
- Feather ESP32S2 without PSRAM
- Feather MIMXRT1011
- Feather MIMXRT1062
- FeatherS2
- FeatherS2 Neo
- FeatherS2 PreRelease
- Fomu
- Franzininho WIFI w/Wroom
- Franzininho WIFI w/Wrover
- Gravitech Cucumber M
- Gravitech Cucumber MS
- Gravitech Cucumber R
- Gravitech Cucumber RS
- HMI-DevKit-1.1
- Hacked Feather M0 Express with 8Mbyte SPI flash
- HalloWing M0 Express
- HiiBot BlueFi
- IMXRT1010-EVK
- IkigaiSense Vita nRF52840
- Kaluga 1
- LILYGO TTGO T8 ESP32-S2 w/Display
- MDBT50Q-DB-40
- MDBT50Q-RX Dongle
- MEOWBIT
- MORPHEANS MorphESP-240
- MakerDiary nRF52840 MDK
- MakerDiary nRF52840 MDK USB Dongle
- Makerdiary M60 Keyboard
- Makerdiary Pitaya Go
- Makerdiary nRF52840 M.2 Developer Kit
- Melopero Shake RP2040
- Metro MIMXRT1011
- Mini SAM M4
- NUCLEO STM32F746
- NUCLEO STM32F767
- NUCLEO STM32H743
- OPENMV-H7 R1
- Oak Dev Tech BREAD2040
- Oak Dev Tech PixelWing ESP32S2
- Open Hardware Summit 2020 Badge
- PCA10056 nRF52840-DK
- PCA10059 nRF52840 Dongle
- PCA10100 nRF52833 Dongle
- PYB LR Nano V2
- Particle Argon
- Particle Boron
- Particle Xenon
- Pimoroni Interstate 75
- Pimoroni Keybow 2040
- Pimoroni PGA2040
- Pimoroni Pico LiPo (16MB)
- Pimoroni Pico LiPo (4MB)
- Pimoroni PicoSystem
- Pimoroni Plasma 2040
- Pimoroni Tiny 2040
- PyCubedv04
- PyCubedv04-MRAM
- PyCubedv05
- PyCubedv05-MRAM
- PyKey60
- PyboardV1_1
- Raspberry Pi Pico
- Robo HAT MM1 M4
- S2Mini
- SAM E54 Xplained Pro
- SAM32v26
- SPRESENSE
- ST STM32F746G Discovery
- STM32F411E_DISCO
- STM32F412G_DISCO
- STM32F4_DISCO
- Saola 1 w/Wroom
- Saola 1 w/Wrover
- Seeeduino Wio Terminal
- Serpente
- Silicognition LLC M4-Shim
- Simmel
- SparkFun LUMIDrive
- SparkFun MicroMod RP2040 Processor
- SparkFun MicroMod SAMD51 Processor
- SparkFun MicroMod nRF52840 Processor
- SparkFun Pro Micro RP2040
- SparkFun Pro nRF52840 Mini
- SparkFun RedBoard Turbo
- SparkFun STM32 MicroMod Processor
- SparkFun Thing Plus - RP2040
- SparkFun Thing Plus - SAMD51
- Sprite_v2b
- StackRduino M0 PRO
- TG-Boards' Datalore IP M4
- TG-Watch
- THUNDERPACK_v11
- THUNDERPACK_v12
- Targett Module Clip w/Wroom
- Targett Module Clip w/Wrover
- Teensy 4.0
- Teensy 4.1
- Teknikio Bluebird
- The Open Book Feather
- TinkeringTech ScoutMakes Azul
- TinyS2
- Trinket M0 Haxpress
- UARTLogger II
- WarmBit BluePixel nRF52840
- Winterbloom Big Honking Button
- Winterbloom Sol
- iMX RT 1020 EVK
- iMX RT 1060 EVK
- keithp.com snekboard
- micro:bit v2
- microS2
- nanoESP32-S2 w/Wrover
- nanoESP32-S2 w/Wroom
- nice!nano
- stm32f411ce-blackpill
- stm32f411ce-blackpill-with-flash
- uGame10
-
atexit.
register
(func: Callable[Ellipsis, Any], *args: Optional[Any], **kwargs: Optional[Any]) → Callable[Ellipsis, Any]
将 func 注册为要在终止时执行的函数。
要传递给 func 的任何可选参数都必须作为参数传递给register()
。可以多次注册相同的函数和参数。
在正常程序终止时(例如,如果sys.exit()
被调用或 vm 执行完成),所有注册的函数都以后进先出的顺序调用。
如果在执行退出处理程序期间引发异常,则会打印回溯(除非 (unless SystemExit
引发)并停止执行。
此函数返回 func,这使得可以将其用作装饰器。
-
atexit.
unregister
(func: Callable[Ellipsis, Any]) → None
从要在终止时运行的函数列表中删除 func。
unregister()
如果 func 先前未注册,则静默不执行任何操作。如果 func 已被多次注册,则 atexit 调用堆栈中该函数的每次出现都将被删除。