# SOME DESCRIPTIVE TITLE. # Copyright (C) 2001-2017, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , 2017. # msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-04-17 23:44+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Dong-gweon Oh \n" "Language-Team: Korean (https://python.flowdas.com)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.17.0\n" #: ../../library/atexit.rst:2 msgid ":mod:`!atexit` --- Exit handlers" msgstr ":mod:`!atexit` --- 종료 처리기" #: ../../library/atexit.rst:12 msgid "" "The :mod:`atexit` module defines functions to register and unregister " "cleanup functions. Functions thus registered are automatically executed " "upon normal interpreter termination. :mod:`atexit` runs these functions " "in the *reverse* order in which they were registered; if you register " "``A``, ``B``, and ``C``, at interpreter termination time they will be run" " in the order ``C``, ``B``, ``A``." msgstr "" ":mod:`atexit` 모듈은 정리 함수를 등록하고 해제하는 함수를 정의합니다. 이렇게 등록된 함수는 정상적인 인터프리터 종료 시" " 자동으로 실행됩니다. :mod:`atexit`\\는 이 함수들을 등록된 *역순* 으로 실행합니다; ``A``, ``B``, " "``C`` 를 등록하면, 인터프리터 종료 시각에 ``C``, ``B``, ``A`` 순서로 실행됩니다." #: ../../library/atexit.rst:19 msgid "" "**Note:** The functions registered via this module are not called when " "the program is killed by a signal not handled by Python, when a Python " "fatal internal error is detected, or when :func:`os._exit` is called." msgstr "" "**참고:** 이 모듈을 통해 등록된 함수는 다음과 같은 경우 호출되지 않습니다. 프로그램이 파이썬이 처리하지 않는 시그널에 의해 " "종료될 때. 파이썬의 치명적인 내부 에러가 감지되었을 때. :func:`os._exit` 가 호출될 때." #: ../../library/atexit.rst:23 msgid "" "**Note:** The effect of registering or unregistering functions from " "within a cleanup function is undefined." msgstr "" #: ../../library/atexit.rst:26 msgid "" "When used with C-API subinterpreters, registered functions are local to " "the interpreter they were registered in." msgstr "C-API 서브 인터프리터와 함께 사용될 때, 등록된 함수는 등록된 인터프리터에 국지적입니다." #: ../../library/atexit.rst:32 msgid "" "Register *func* as a function to be executed at termination. Any " "optional arguments that are to be passed to *func* must be passed as " "arguments to :func:`register`. It is possible to register the same " "function and arguments more than once." msgstr "" "*func* 를 종료 시에 실행할 함수로 등록합니다. *func* 에 전달되어야 하는 선택적 인자는 :func:`register` " "에 인자로 전달되어야 합니다. 같은 함수와 인자를 두 번 이상 등록 할 수 있습니다." #: ../../library/atexit.rst:37 msgid "" "At normal program termination (for instance, if :func:`sys.exit` is " "called or the main module's execution completes), all functions " "registered are called in last in, first out order. The assumption is " "that lower level modules will normally be imported before higher level " "modules and thus must be cleaned up later." msgstr "" "정상적인 프로그램 종료 시에 (예를 들어, :func:`sys.exit` 가 호출되거나 주 모듈의 실행이 완료된 경우에), 등록된 " "모든 함수는 후입선출 순서로 호출됩니다. 낮은 수준의 모듈은 일반적으로 상위 수준 모듈보다 먼저 임포트 되기 때문에 나중에 정리해야" " 한다는 가정입니다." #: ../../library/atexit.rst:43 msgid "" "If an exception is raised during execution of the exit handlers, a " "traceback is printed (unless :exc:`SystemExit` is raised) and the " "exception information is saved. After all exit handlers have had a " "chance to run, the last exception to be raised is re-raised." msgstr "" "종료 처리기의 실행 중에 예외가 발생하면 (:exc:`SystemExit`\\가 발생하지 않는다면) 트레이스백이 인쇄되고 예외 " "정보가 저장됩니다. 모든 종료 처리기가 실행될 기회를 얻은 후에, 발생한 마지막 예외를 다시 일으킵니다." #: ../../library/atexit.rst:48 msgid "" "This function returns *func*, which makes it possible to use it as a " "decorator." msgstr "이 함수는 *func* 을 반환하므로 데코레이터로 사용할 수 있습니다." #: ../../library/atexit.rst:52 msgid "" "Starting new threads or calling :func:`os.fork` from a registered " "function can lead to race condition between the main Python runtime " "thread freeing thread states while internal :mod:`threading` routines or " "the new process try to use that state. This can lead to crashes rather " "than clean shutdown." msgstr "" #: ../../library/atexit.rst:58 msgid "" "Attempts to start a new thread or :func:`os.fork` a new process in a " "registered function now leads to :exc:`RuntimeError`." msgstr "" #: ../../library/atexit.rst:64 msgid "" "Remove *func* from the list of functions to be run at interpreter " "shutdown. :func:`unregister` silently does nothing if *func* was not " "previously registered. If *func* has been registered more than once, " "every occurrence of that function in the :mod:`atexit` call stack will be" " removed. Equality comparisons (``==``) are used internally during " "unregistration, so function references do not need to have matching " "identities." msgstr "" "인터프리터 종료 시 실행할 함수 목록에서 *func* 를 제거합니다. :func:`unregister` 는 *func* 가 이전에 " "등록되지 않았다면 아무것도 하지 않습니다. *func*\\가 두 번 이상 등록되었으면, :mod:`atexit` 호출 스택에서 해당" " 함수를 모두 제거합니다. 등록을 해제하는 동안 내부적으로 동등 비교(``==``)가 사용되므로, 함수 참조는 대응하는 아이덴티티가" " 필요 없습니다." #: ../../library/atexit.rst:74 msgid "Module :mod:`readline`" msgstr "모듈 :mod:`readline`" #: ../../library/atexit.rst:75 msgid "" "Useful example of :mod:`atexit` to read and write :mod:`readline` history" " files." msgstr ":mod:`readline` 히스토리 파일을 읽고 쓰는 :mod:`atexit` 의 유용한 예." #: ../../library/atexit.rst:82 msgid ":mod:`atexit` Example" msgstr ":mod:`atexit` 예제" #: ../../library/atexit.rst:84 msgid "" "The following simple example demonstrates how a module can initialize a " "counter from a file when it is imported and save the counter's updated " "value automatically when the program terminates without relying on the " "application making an explicit call into this module at termination. ::" msgstr "" "다음의 간단한 예제는, 모듈이 임포트 될 때 파일에서 카운터를 읽고 프로그램이 종료할 때 프로그램의 명시적인 호출에 의존하지 않고 " "카운터의 변경된 값을 자동으로 저장하는 방법을 보여줍니다.::" #: ../../library/atexit.rst:89 #, python-format msgid "" "try:\n" " with open('counterfile') as infile:\n" " _count = int(infile.read())\n" "except FileNotFoundError:\n" " _count = 0\n" "\n" "def incrcounter(n):\n" " global _count\n" " _count = _count + n\n" "\n" "def savecounter():\n" " with open('counterfile', 'w') as outfile:\n" " outfile.write('%d' % _count)\n" "\n" "import atexit\n" "\n" "atexit.register(savecounter)" msgstr "" "try:\n" " with open('counterfile') as infile:\n" " _count = int(infile.read())\n" "except FileNotFoundError:\n" " _count = 0\n" "\n" "def incrcounter(n):\n" " global _count\n" " _count = _count + n\n" "\n" "def savecounter():\n" " with open('counterfile', 'w') as outfile:\n" " outfile.write('%d' % _count)\n" "\n" "import atexit\n" "\n" "atexit.register(savecounter)" #: ../../library/atexit.rst:107 msgid "" "Positional and keyword arguments may also be passed to :func:`register` " "to be passed along to the registered function when it is called::" msgstr "위치 및 키워드 인자가 등록된 함수가 호출될 때 전달되도록 :func:`register` 에 전달할 수 있습니다::" #: ../../library/atexit.rst:110 #, python-format msgid "" "def goodbye(name, adjective):\n" " print('Goodbye %s, it was %s to meet you.' % (name, adjective))\n" "\n" "import atexit\n" "\n" "atexit.register(goodbye, 'Donny', 'nice')\n" "# or:\n" "atexit.register(goodbye, adjective='nice', name='Donny')" msgstr "" "def goodbye(name, adjective):\n" " print('Goodbye %s, it was %s to meet you.' % (name, adjective))\n" "\n" "import atexit\n" "\n" "atexit.register(goodbye, 'Donny', 'nice')\n" "# or:\n" "atexit.register(goodbye, adjective='nice', name='Donny')" #: ../../library/atexit.rst:119 msgid "Usage as a :term:`decorator`::" msgstr ":term:`데코레이터 ` 로 사용하기::" #: ../../library/atexit.rst:121 msgid "" "import atexit\n" "\n" "@atexit.register\n" "def goodbye():\n" " print('You are now leaving the Python sector.')" msgstr "" "import atexit\n" "\n" "@atexit.register\n" "def goodbye():\n" " print('You are now leaving the Python sector.')" #: ../../library/atexit.rst:127 msgid "This only works with functions that can be called without arguments." msgstr "이 방법은 인자 없이 호출할 수 있는 함수에서만 작동합니다."