# 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: # python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.9\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-01-03 16:35+0000\n" "PO-Revision-Date: 2025-09-22 17:54+0000\n" "Last-Translator: python-doc bot, 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" #: ../../library/cmd.rst:2 msgid ":mod:`cmd` --- Support for line-oriented command interpreters" msgstr ":mod:`cmd` --- 支持面向行的命令解释器" #: ../../library/cmd.rst:9 msgid "**Source code:** :source:`Lib/cmd.py`" msgstr "**源代码:** :source:`Lib/cmd.py`" #: ../../library/cmd.rst:13 msgid "" "The :class:`Cmd` class provides a simple framework for writing line-oriented" " command interpreters. These are often useful for test harnesses, " "administrative tools, and prototypes that will later be wrapped in a more " "sophisticated interface." msgstr "" ":class:`Cmd` 类提供简单框架用于编写面向行的命令解释器。 这些通常对测试工具,管理工具和原型有用,这些工具随后将被包含在更复杂的接口中。" #: ../../library/cmd.rst:20 msgid "" "A :class:`Cmd` instance or subclass instance is a line-oriented interpreter " "framework. There is no good reason to instantiate :class:`Cmd` itself; " "rather, it's useful as a superclass of an interpreter class you define " "yourself in order to inherit :class:`Cmd`'s methods and encapsulate action " "methods." msgstr "" "一个 :class:`Cmd` 实例或子类实例是面向行的解释器框架结构。 实例化 :class:`Cmd` 本身是没有充分理由的, " "它作为自定义解释器类的超类是非常有用的为了继承 :class:`Cmd` 的方法并且封装动作方法。" #: ../../library/cmd.rst:25 msgid "" "The optional argument *completekey* is the :mod:`readline` name of a " "completion key; it defaults to :kbd:`Tab`. If *completekey* is not " ":const:`None` and :mod:`readline` is available, command completion is done " "automatically." msgstr "" "可选参数 *completekey* 是完成键的 :mod:`readline` 名称;默认是 :kbd:`Tab` 。如果 *completekey*" " 不是 :const:`None` 并且 :mod:`readline` 是可用的, 命令完成会自动完成。" #: ../../library/cmd.rst:29 msgid "" "The optional arguments *stdin* and *stdout* specify the input and output " "file objects that the Cmd instance or subclass instance will use for input " "and output. If not specified, they will default to :data:`sys.stdin` and " ":data:`sys.stdout`." msgstr "" "可选参数 *stdin* 和 *stdout* 指定了Cmd实例或子类实例将用于输入和输出的输入和输出文件对象。如果没有指定,他们将默认为 " ":data:`sys.stdin` 和 :data:`sys.stdout` 。" #: ../../library/cmd.rst:34 msgid "" "If you want a given *stdin* to be used, make sure to set the instance's " ":attr:`use_rawinput` attribute to ``False``, otherwise *stdin* will be " "ignored." msgstr "" "如果你想要使用一个给定的 *stdin* ,确保将实例的 :attr:`use_rawinput` 属性设置为 ``False`` ,否则 " "*stdin* 将被忽略。" #: ../../library/cmd.rst:42 msgid "Cmd Objects" msgstr "Cmd 对象" #: ../../library/cmd.rst:44 msgid "A :class:`Cmd` instance has the following methods:" msgstr ":class:`Cmd` 实例有下列方法:" #: ../../library/cmd.rst:49 msgid "" "Repeatedly issue a prompt, accept input, parse an initial prefix off the " "received input, and dispatch to action methods, passing them the remainder " "of the line as argument." msgstr "反复发出提示,接受输入,从收到的输入中解析出一个初始前缀,并分派给操作方法,将其余的行作为参数传递给它们。" #: ../../library/cmd.rst:53 msgid "" "The optional argument is a banner or intro string to be issued before the " "first prompt (this overrides the :attr:`intro` class attribute)." msgstr "可选参数是在第一个提示之前发布的横幅或介绍字符串(这将覆盖 :attr:`intro` 类属性)。" #: ../../library/cmd.rst:56 msgid "" "If the :mod:`readline` module is loaded, input will automatically inherit " ":program:`bash`\\ -like history-list editing (e.g. :kbd:`Control-P` scrolls " "back to the last command, :kbd:`Control-N` forward to the next one, " ":kbd:`Control-F` moves the cursor to the right non-destructively, " ":kbd:`Control-B` moves the cursor to the left non-destructively, etc.)." msgstr "" "如果 :mod:`readline` 继承模块被加载,输入将自动继承类似 :program:`bash`\\ 的历史列表编辑(例如, " ":kbd:`Control-P` 滚动回到最后一个命令, :kbd:`Control-N` 转到下一个命令,以 :kbd:`Control-F` " "非破坏性的方式向右 :kbd:`Control-B` 移动光标,破坏性地等)。" #: ../../library/cmd.rst:62 msgid "An end-of-file on input is passed back as the string ``'EOF'``." msgstr "输入的文件结束符被作为字符串传回 ``'EOF'`` 。" #: ../../library/cmd.rst:68 msgid "" "An interpreter instance will recognize a command name ``foo`` if and only if" " it has a method :meth:`do_foo`. As a special case, a line beginning with " "the character ``'?'`` is dispatched to the method :meth:`do_help`. As " "another special case, a line beginning with the character ``'!'`` is " "dispatched to the method :meth:`do_shell` (if such a method is defined)." msgstr "" "解释器实例将会识别命令名称 ``foo`` 当且仅当它有方法 :meth:`do_foo` 。有一个特殊情况,分派始于字符 ``'?'`` 的行到方法 " ":meth:`do_help` 。另一种特殊情况,分派始于字符 ``'!'`` 的行到方法 :meth:`do_shell` (如果定义了这个方法)" #: ../../library/cmd.rst:74 msgid "" "This method will return when the :meth:`postcmd` method returns a true " "value. The *stop* argument to :meth:`postcmd` is the return value from the " "command's corresponding :meth:`do_\\*` method." msgstr "" "这个方法将返回当 :meth:`postcmd` 方法返回一个真值 。参数 *stop* 到 :meth:`postcmd` 是命令对应的返回值 " ":meth:`do_\\*` 的方法。" #: ../../library/cmd.rst:78 msgid "" "If completion is enabled, completing commands will be done automatically, " "and completing of commands args is done by calling :meth:`complete_foo` with" " arguments *text*, *line*, *begidx*, and *endidx*. *text* is the string " "prefix we are attempting to match: all returned matches must begin with it. " "*line* is the current input line with leading whitespace removed, *begidx* " "and *endidx* are the beginning and ending indexes of the prefix text, which " "could be used to provide different completion depending upon which position " "the argument is in." msgstr "" "如果激活了完成,全部命令将会自动完成,并且通过调用 :meth:`complete_foo` 参数 *text* , *line*, *begidx* " ",和 *endidx* 完成全部命令参数。 *text* 是我们试图匹配的字符串前缀,所有返回的匹配项必须以它为开头。 *line* " "是删除了前导空格的当前的输入行, *begidx* 和 *endidx* 是前缀文本的开始和结束索引。,可以用于根据参数位置提供不同的完成。" #: ../../library/cmd.rst:86 msgid "" "All subclasses of :class:`Cmd` inherit a predefined :meth:`do_help`. This " "method, called with an argument ``'bar'``, invokes the corresponding method " ":meth:`help_bar`, and if that is not present, prints the docstring of " ":meth:`do_bar`, if available. With no argument, :meth:`do_help` lists all " "available help topics (that is, all commands with corresponding " ":meth:`help_\\*` methods or commands that have docstrings), and also lists " "any undocumented commands." msgstr "" "所有 :class:`Cmd` 的子类继承一个预定义 :meth:`do_help` 。 这个方法使用参数 ``'bar'`` 调用, 调用对应的方法 " ":meth:`help_bar` ,如果不存在,打印 :meth:`do_bar` 的文档字符串,如果可用。没有参数的情况下, " ":meth:`do_help` 方法会列出所有可用的帮助主题 (即所有具有相应的 :meth:`help_\\*` 方法或命令的 " "文档字符串),也会列举所有未被记录的命令。" #: ../../library/cmd.rst:97 msgid "" "Interpret the argument as though it had been typed in response to the " "prompt. This may be overridden, but should not normally need to be; see the " ":meth:`precmd` and :meth:`postcmd` methods for useful execution hooks. The " "return value is a flag indicating whether interpretation of commands by the " "interpreter should stop. If there is a :meth:`do_\\*` method for the " "command *str*, the return value of that method is returned, otherwise the " "return value from the :meth:`default` method is returned." msgstr "" "解释该参数,就好像它是为响应提示而键入的一样。 这可能会被覆盖,但通常不应该被覆盖; 请参阅: :meth:`precmd` 和 " ":meth:`postcmd` 方法,用于执行有用的挂钩。 返回值是一个标志,指示解释器对命令的解释是否应该停止。 如果命令 *str* 有一个 " ":meth:`do_\\*` 方法,则返回该方法的返回值,否则返回 :meth:`default` 方法的返回值。" #: ../../library/cmd.rst:108 msgid "" "Method called when an empty line is entered in response to the prompt. If " "this method is not overridden, it repeats the last nonempty command entered." msgstr "在响应提示输入空行时调用的方法。如果此方法未被覆盖,则重复输入的最后一个非空命令。" #: ../../library/cmd.rst:114 msgid "" "Method called on an input line when the command prefix is not recognized. If" " this method is not overridden, it prints an error message and returns." msgstr "当命令前缀不能被识别的时候在输入行调用的方法。如果此方法未被覆盖,它将输出一个错误信息并返回。" #: ../../library/cmd.rst:120 msgid "" "Method called to complete an input line when no command-specific " ":meth:`complete_\\*` method is available. By default, it returns an empty " "list." msgstr "当没有特定于命令的 :meth:`complete_\\*` 方法可用时,调用此方法完成输入行。默认情况下,它返回一个空列表。" #: ../../library/cmd.rst:126 msgid "" "Hook method executed just before the command line *line* is interpreted, but" " after the input prompt is generated and issued. This method is a stub in " ":class:`Cmd`; it exists to be overridden by subclasses. The return value is" " used as the command which will be executed by the :meth:`onecmd` method; " "the :meth:`precmd` implementation may re-write the command or simply return " "*line* unchanged." msgstr "" "钩方法在命令行 *line* 被解释之前执行,但是在输入提示被生成和发出后。这个方法是一个在 :class:`Cmd` " "中的存根;它的存在是为了被子类覆盖。返回值被用作 :meth:`onecmd` 方法执行的命令; :meth:`precmd` " "的实现或许会重写命令或者简单的返回 *line* 不变。" #: ../../library/cmd.rst:136 msgid "" "Hook method executed just after a command dispatch is finished. This method" " is a stub in :class:`Cmd`; it exists to be overridden by subclasses. " "*line* is the command line which was executed, and *stop* is a flag which " "indicates whether execution will be terminated after the call to " ":meth:`postcmd`; this will be the return value of the :meth:`onecmd` method." " The return value of this method will be used as the new value for the " "internal flag which corresponds to *stop*; returning false will cause " "interpretation to continue." msgstr "" "钩方法只在命令调度完成后执行。这个方法是一个在 :class:`Cmd` 中的存根;它的存在是为了子类被覆盖。 *line* 是被执行的命令行, " "*stop* 是一个表示在调用 :meth:`postcmd` 之后是否终止执行的标志;这将作为 :meth:`onecmd` " "方法的返回值。这个方法的返回值被用作与 *stop* 相关联的内部标志的新值;返回 false 将导致解释继续。" #: ../../library/cmd.rst:147 msgid "" "Hook method executed once when :meth:`cmdloop` is called. This method is a " "stub in :class:`Cmd`; it exists to be overridden by subclasses." msgstr "钩方法当 :meth:`cmdloop` 被调用时执行一次。方法是一个在 :class:`Cmd` 中的存根;它的存在是为了被子类覆盖。" #: ../../library/cmd.rst:153 msgid "" "Hook method executed once when :meth:`cmdloop` is about to return. This " "method is a stub in :class:`Cmd`; it exists to be overridden by subclasses." msgstr "" "钩方法在 :meth:`cmdloop` 即将返回时执行一次。这个方法是一个在 :class:`Cmd` 中的存根;它的存在是为了被子类覆盖。" #: ../../library/cmd.rst:157 msgid "" "Instances of :class:`Cmd` subclasses have some public instance variables:" msgstr " :class:`Cmd` 的子类的实例有一些公共实例变量:" #: ../../library/cmd.rst:161 msgid "The prompt issued to solicit input." msgstr "发出提示以请求输入。" #: ../../library/cmd.rst:166 msgid "The string of characters accepted for the command prefix." msgstr "接受命令前缀的字符串。" #: ../../library/cmd.rst:171 msgid "The last nonempty command prefix seen." msgstr "看到最后一个非空命令前缀。" #: ../../library/cmd.rst:176 msgid "" "A list of queued input lines. The cmdqueue list is checked in " ":meth:`cmdloop` when new input is needed; if it is nonempty, its elements " "will be processed in order, as if entered at the prompt." msgstr "" "排队的输入行列表。当需要新的输入时,在 :meth:`cmdloop` 中检查 cmdqueue " "列表;如果它不是空的,它的元素将被按顺序处理,就像在提示符处输入一样。" #: ../../library/cmd.rst:183 msgid "" "A string to issue as an intro or banner. May be overridden by giving the " ":meth:`cmdloop` method an argument." msgstr "要作为简介或横幅发出的字符串。 可以通过给 :meth:`cmdloop` 方法一个参数来覆盖它。" #: ../../library/cmd.rst:189 msgid "" "The header to issue if the help output has a section for documented " "commands." msgstr "如果帮助输出具有记录命令的段落,则发出头文件。" #: ../../library/cmd.rst:194 msgid "" "The header to issue if the help output has a section for miscellaneous help" " topics (that is, there are :meth:`help_\\*` methods without corresponding " ":meth:`do_\\*` methods)." msgstr "如果帮助输出其他帮助主题的部分(即与 :meth:`do_\\*` 方法没有关联的 :meth:`help_\\*` 方法),则发出头文件。" #: ../../library/cmd.rst:201 msgid "" "The header to issue if the help output has a section for undocumented " "commands (that is, there are :meth:`do_\\*` methods without corresponding " ":meth:`help_\\*` methods)." msgstr "如果帮助输出未被记录命令的部分(即与 :meth:`help_\\*` 方法没有关联的 :meth:`do_\\*` 方法),则发出头文件。" #: ../../library/cmd.rst:208 msgid "" "The character used to draw separator lines under the help-message headers. " "If empty, no ruler line is drawn. It defaults to ``'='``." msgstr "用于在帮助信息标题的下方绘制分隔符的字符,如果为空,则不绘制标尺线。这个字符默认是 ``'='`` 。" #: ../../library/cmd.rst:214 msgid "" "A flag, defaulting to true. If true, :meth:`cmdloop` uses :func:`input` to " "display a prompt and read the next command; if false, " ":meth:`sys.stdout.write` and :meth:`sys.stdin.readline` are used. (This " "means that by importing :mod:`readline`, on systems that support it, the " "interpreter will automatically support :program:`Emacs`\\ -like line editing" " and command-history keystrokes.)" msgstr "" "这是一个标志,默认为 true 。如果为 true ,, :meth:`cmdloop` 使用 :func:`input` " "先是提示并且阅读下一个命令;如果为 false , :meth:`sys.stdout.write` 和 " ":meth:`sys.stdin.readline` 被使用。(这意味着解释器将会自动支持类似于 :program:`Emacs`\\ " "的行编辑和命令历史记录按键操作,通过导入 :mod:`readline` 在支持它的系统上。)" #: ../../library/cmd.rst:224 msgid "Cmd Example" msgstr "Cmd 例子" #: ../../library/cmd.rst:228 msgid "" "The :mod:`cmd` module is mainly useful for building custom shells that let a" " user work with a program interactively." msgstr " :mod:`cmd` 模块主要被用于构建自定义 shell 让用户以交互的方式使用一个程序。" #: ../../library/cmd.rst:231 msgid "" "This section presents a simple example of how to build a shell around a few " "of the commands in the :mod:`turtle` module." msgstr "这部分提供了一个简单的例子来介绍如何使用一部分在 :mod:`turtle` 模块中的命令构建一个 shell 。" #: ../../library/cmd.rst:234 msgid "" "Basic turtle commands such as :meth:`~turtle.forward` are added to a " ":class:`Cmd` subclass with method named :meth:`do_forward`. The argument is" " converted to a number and dispatched to the turtle module. The docstring " "is used in the help utility provided by the shell." msgstr "" "基础的 turtle 命令比如 :meth:`~turtle.forward` 被添加进一个 :class:`Cmd` 子类,方法名为 " ":meth:`do_forward` 。参数被转换成数字并且分发至 turtle 模块中。 docstring 是 shell 提供的帮助实用程序。" #: ../../library/cmd.rst:239 msgid "" "The example also includes a basic record and playback facility implemented " "with the :meth:`~Cmd.precmd` method which is responsible for converting the " "input to lowercase and writing the commands to a file. The " ":meth:`do_playback` method reads the file and adds the recorded commands to " "the :attr:`cmdqueue` for immediate playback::" msgstr "" "例子也包含使用 :meth:`~Cmd.precmd` 方法实现基础的记录和回放的功能,这个方法负责将输入转换为小写并且将命令写入文件。 " ":meth:`do_playback` 方法读取文件并添加记录命令至 :attr:`cmdqueue` 用于即时回放::" #: ../../library/cmd.rst:320 msgid "" "Here is a sample session with the turtle shell showing the help functions, " "using blank lines to repeat commands, and the simple record and playback " "facility:" msgstr "这是一个示例会话,其中 turtle shell 显示帮助功能,使用空行重复命令,以及简单的记录和回放功能:"