atexit

About_work·2024년 7월 19일
0

python 기초

목록 보기
61/65
  • atexit.register() : 프로그램이 정상적으로 종료될 때 특정 함수를 실행하도록 예약하는 데 사용
    • 이는 스크립트가 종료될 때 수행되어야 하는 정리 작업이나 마무리 작업을 등록하는 데 유용
  • 프로그램이 비정상적으로 종료될 경우: (예: 강제 종료나 시스템 충돌)

1. 사용 목적

  1. 정리 작업 수행:
  • 파일을 닫거나, 네트워크 연결을 해제하거나, 임시 파일을 삭제하는 등의 작업을 스크립트가 종료될 때 자동으로 수행하도록 할 수 있습니다.
  1. 데이터 저장:
  • 프로그램이 종료되기 전에 데이터를 저장하거나 로그를 기록하는 등의 작업을 보장할 수 있습니다.
  1. 자원 해제:
  • 메모리, 파일 핸들, 소켓 등 다양한 자원을 해제하여 메모리 누수나 다른 자원 관련 문제를 방지할 수 있습니다.

3. 사용법 상세

  1. 함수 등록: atexit.register()는 인수로 전달된 함수를 프로그램 종료 시 호출하도록 등록합니다.
  2. 인수 전달: 종료 시 호출할 함수가 인수를 필요로 하는 경우, atexit.register()에 함수와 인수를 함께 전달할 수 있습니다.
import atexit

def cleanup(name):
    print(f"Cleaning up resources for {name}...")

# 함수와 인수를 함께 등록
atexit.register(cleanup, "ExampleUser")

print("Program is running...")
  1. 여러 함수 등록: 여러 개의 함수를 등록할 수 있으며, 등록된 순서대로 호출됩니다.
import atexit

def cleanup_first():
    print("First cleanup task")

def cleanup_second():
    print("Second cleanup task")

atexit.register(cleanup_first)
atexit.register(cleanup_second)

print("Program is running...")
profile
새로운 것이 들어오면 이미 있는 것과 충돌을 시도하라.

0개의 댓글