# SOME DESCRIPTIVE TITLE. # Copyright (C) 2001-2025, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: # Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.12\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-07-25 16:03+0000\n" "PO-Revision-Date: 2025-07-18 19:59+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" "Language-Team: Chinese (China) (https://app.transifex.com/python-doc/teams/5390/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: ../../tutorial/appendix.rst:5 msgid "Appendix" msgstr "附录" #: ../../tutorial/appendix.rst:11 msgid "Interactive Mode" msgstr "交互模式" #: ../../tutorial/appendix.rst:16 msgid "Error Handling" msgstr "错误处理" #: ../../tutorial/appendix.rst:18 msgid "" "When an error occurs, the interpreter prints an error message and a stack " "trace. In interactive mode, it then returns to the primary prompt; when " "input came from a file, it exits with a nonzero exit status after printing " "the stack trace. (Exceptions handled by an :keyword:`except` clause in a " ":keyword:`try` statement are not errors in this context.) Some errors are " "unconditionally fatal and cause an exit with a nonzero exit status; this " "applies to internal inconsistencies and some cases of running out of memory." " All error messages are written to the standard error stream; normal output" " from executed commands is written to standard output." msgstr "" "当发生错误时,解释器会打印错误消息和栈回溯。 " "在交互模式下,将返回到主提示符;当输入是来自文件的时候,它将在打印栈回溯之后退出并附带一个非零的退出状态码。 (由 :keyword:`try` 语句中" " :keyword:`except` 子句所处理的异常在此上下文中不属于错误。) " "有些错误属于无条件致命错误,会导致程序附带非零状态码退出;这适用于内部一致性丧失以及某些内存耗尽的情况等。 " "所有错误消息都将被写入到标准错误流;来自被执行命令的正常输出测会被写入到标准输出。" #: ../../tutorial/appendix.rst:28 msgid "" "Typing the interrupt character (usually :kbd:`Control-C` or :kbd:`Delete`) " "to the primary or secondary prompt cancels the input and returns to the " "primary prompt. [#]_ Typing an interrupt while a command is executing raises" " the :exc:`KeyboardInterrupt` exception, which may be handled by a " ":keyword:`try` statement." msgstr "" "将中断字符(通常为 :kbd:`Control-C` 或 :kbd:`Delete` )键入主要或辅助提示符会取消输入并返回主提示符。 [#]_ " "在执行命令时键入中断引发的 :exc:`KeyboardInterrupt` 异常,可以由 :keyword:`try` 语句处理。" #: ../../tutorial/appendix.rst:38 msgid "Executable Python Scripts" msgstr "可执行的Python脚本" #: ../../tutorial/appendix.rst:40 msgid "" "On BSD'ish Unix systems, Python scripts can be made directly executable, " "like shell scripts, by putting the line ::" msgstr "在 BSD 等类Unix系统上,Python 脚本可以像 shell 脚本一样直接执行,通过在第一行添加:" #: ../../tutorial/appendix.rst:43 msgid "#!/usr/bin/env python3" msgstr "#!/usr/bin/env python3" #: ../../tutorial/appendix.rst:45 msgid "" "(assuming that the interpreter is on the user's :envvar:`PATH`) at the " "beginning of the script and giving the file an executable mode. The ``#!`` " "must be the first two characters of the file. On some platforms, this first" " line must end with a Unix-style line ending (``'\\n'``), not a Windows " "(``'\\r\\n'``) line ending. Note that the hash, or pound, character, " "``'#'``, is used to start a comment in Python." msgstr "" "(假设解释器位于用户的 :envvar:`PATH` )脚本的开头,并将文件设置为可执行。 ``#!`` " "必须是文件的前两个字符。在某些平台上,第一行必须以Unix样式的行结尾(``'\\n'``)结束,而不是以Windows(``'\\r\\n'``)行结尾。注意,“散列字符”,或者说“磅字符”," " ``'#'`` ,在Python中代表注释开始。" #: ../../tutorial/appendix.rst:52 msgid "" "The script can be given an executable mode, or permission, using the " ":program:`chmod` command." msgstr "可以使用 :program:`chmod` 命令为脚本提供可执行模式或权限。" #: ../../tutorial/appendix.rst:55 msgid "$ chmod +x myscript.py" msgstr "$ chmod +x myscript.py" #: ../../tutorial/appendix.rst:59 msgid "" "On Windows systems, there is no notion of an \"executable mode\". The " "Python installer automatically associates ``.py`` files with ``python.exe`` " "so that a double-click on a Python file will run it as a script. The " "extension can also be ``.pyw``, in that case, the console window that " "normally appears is suppressed." msgstr "" "在Windows系统上,没有“可执行模式”的概念。 Python安装程序自动将 ``.py`` 文件与 ``python.exe`` " "相关联,这样双击Python文件就会将其作为脚本运行。扩展也可以是 ``.pyw`` ,在这种情况下,会隐藏通常出现的控制台窗口。" #: ../../tutorial/appendix.rst:69 msgid "The Interactive Startup File" msgstr "交互式启动文件" #: ../../tutorial/appendix.rst:71 msgid "" "When you use Python interactively, it is frequently handy to have some " "standard commands executed every time the interpreter is started. You can " "do this by setting an environment variable named :envvar:`PYTHONSTARTUP` to " "the name of a file containing your start-up commands. This is similar to " "the :file:`.profile` feature of the Unix shells." msgstr "" "当您以交互模式使用 Python 时,您可能会希望在每次启动解释器时,解释器先执行几条您预先编写的命令,然后您再以交互模式继续使用。您可以通过将名为 " ":envvar:`PYTHONSTARTUP` 的环境变量设置为包含启动命令的文件的文件名来实现。这类似于 Unix shell 的 " ":file:`.profile` 功能。" #: ../../tutorial/appendix.rst:77 msgid "" "This file is only read in interactive sessions, not when Python reads " "commands from a script, and not when :file:`/dev/tty` is given as the " "explicit source of commands (which otherwise behaves like an interactive " "session). It is executed in the same namespace where interactive commands " "are executed, so that objects that it defines or imports can be used without" " qualification in the interactive session. You can also change the prompts " "``sys.ps1`` and ``sys.ps2`` in this file." msgstr "" "Python 只有在交互模式时,才会读取此文件,而非在从脚本读指令或是将 :file:`/dev/tty` 显式作为被运行的 Python " "脚本的文件名时(后者反而表现得像一个交互式会话)。这个文件与交互式指令共享相同的命名空间,所以它定义或导入的对象可以在交互式会话中直接使用。您也可以在该文件中更改提示符" " ``sys.ps1`` 和 ``sys.ps2``。" #: ../../tutorial/appendix.rst:85 msgid "" "If you want to read an additional start-up file from the current directory, " "you can program this in the global start-up file using code like ``if " "os.path.isfile('.pythonrc.py'): exec(open('.pythonrc.py').read())``. If you " "want to use the startup file in a script, you must do this explicitly in the" " script::" msgstr "" "如果您想 *从当前目录中* 读取一个额外的启动文件,您可以在上文所说的全局启动文件中编写像 ``if " "os.path.isfile('.pythonrc.py'): exec(open('.pythonrc.py').read())`` " "这样的代码。如果要在脚本中使用启动文件,则必须在脚本中显式执行此操作:" #: ../../tutorial/appendix.rst:91 msgid "" "import os\n" "filename = os.environ.get('PYTHONSTARTUP')\n" "if filename and os.path.isfile(filename):\n" " with open(filename) as fobj:\n" " startup_file = fobj.read()\n" " exec(startup_file)" msgstr "" "import os\n" "filename = os.environ.get('PYTHONSTARTUP')\n" "if filename and os.path.isfile(filename):\n" " with open(filename) as fobj:\n" " startup_file = fobj.read()\n" " exec(startup_file)" #: ../../tutorial/appendix.rst:102 msgid "The Customization Modules" msgstr "定制模块" #: ../../tutorial/appendix.rst:104 msgid "" "Python provides two hooks to let you customize it: :index:`sitecustomize` " "and :index:`usercustomize`. To see how it works, you need first to find the" " location of your user site-packages directory. Start Python and run this " "code::" msgstr "" "Python 提供了两个钩子供你进行自定义: :index:`sitecustomize` 和 :index:`usercustomize`。 " "要了解它是如何工作的,首先需要找到用户 site-packages 目录的位置。 启动 Python 并运行以下代码::" #: ../../tutorial/appendix.rst:108 msgid "" ">>> import site\n" ">>> site.getusersitepackages()\n" "'/home/user/.local/lib/python3.x/site-packages'" msgstr "" ">>> import site\n" ">>> site.getusersitepackages()\n" "'/home/user/.local/lib/python3.x/site-packages'" #: ../../tutorial/appendix.rst:112 msgid "" "Now you can create a file named :file:`usercustomize.py` in that directory " "and put anything you want in it. It will affect every invocation of Python," " unless it is started with the :option:`-s` option to disable the automatic " "import." msgstr "" "现在,您可以在该目录中创建一个名为 :file:`usercustomize.py` " "的文件,并将所需内容放入其中。它会影响Python的每次启动,除非它以 :option:`-s` 选项启动,以禁用自动导入。" #: ../../tutorial/appendix.rst:116 msgid "" ":index:`sitecustomize` works in the same way, but is typically created by an" " administrator of the computer in the global site-packages directory, and is" " imported before :index:`usercustomize`. See the documentation of the " ":mod:`site` module for more details." msgstr "" ":index:`sitecustomize` 的工作方式相同,但通常由计算机管理员在全局 site-packages 目录中创建,并在 " ":index:`usercustomize` 之前导入。 更多细节请参阅 :mod:`site` 模块的文档。" #: ../../tutorial/appendix.rst:123 msgid "Footnotes" msgstr "备注" #: ../../tutorial/appendix.rst:124 msgid "A problem with the GNU Readline package may prevent this." msgstr "GNU Readline 包的问题可能会阻止这种情况。"