atexit --- 프로세서 종료 (python = 3.7.5)
메모: 이 모듈 에 등 록 된 함 수 는 프로그램 이 Python 에 포착 되 지 않 은 신호 에 의 해 죽 었 을 때 실행 되 지 않 습 니 다. Python 내부 의 치 명 적 인 오류 가 감지 되 고 os. 호출 되 었 습 니 다.exit () 시 에 도 실행 되 지 않 습 니 다.
3.7 버 전 변경: C - API 서브 해석 기 에 맞 춰 사용 할 때 등 록 된 함 수 는 등 록 된 해석 기의 부분 대상 입 니 다.
atexit.register(func, *args, **kwargs)
func . func register(). .
( , sys.exit() ), . , .
exit , ( SystemExit) 。 exit , 。
func , 。
atexit.unregister(func)
func。 unregister() , func , 。 func ,unregister() 。
atexit 예제
다음 간단 한 예 는 모듈 이 가 져 올 때 파일 에서 계수 기 를 초기 화하 고 프로그램 이 끝 날 때 카운터 의 업데이트 값 을 자동 으로 저장 하 는 방법 을 보 여 줍 니 다. 이 동작 은 끝 날 때 이 모듈 을 명시 적 으로 호출 하 는 데 의존 하지 않 습 니 다.
try:
with open("counterfile") as infile:
_count = int(infile.read())
except FileNotFoundError:
_count = 0
def incrcounter(n):
global _count
_count = _count + n
def savecounter():
with open("counterfile", "w") as outfile:
outfile.write("%d" % _count)
import atexit
atexit.register(savecounter)
호출 된 등록 함수 에 전달 할 수 있 도록 위치 와 키워드 인자 도 register () 에 들 어 갈 수 있 습 니 다.
def goodbye(name, adjective):
print('Goodbye, %s, it was %s to meet you.' % (name, adjective))
import atexit
atexit.register(goodbye, 'Donny', 'nice')
# or:
atexit.register(goodbye, adjective='nice', name='Donny')
decorator 로: 사용:
import atexit
@atexit.register
def goodbye():
print("You are now leaving the Python sector.")
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.