# Copyright (C) 2001-2020, Python Software Foundation
# This file is distributed under the same license as the Python package.
# Maintained by the python-doc-es workteam.
# docs-es@python.org /
# https://mail.python.org/mailman3/lists/docs-es.python.org/
# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to
# get the list of volunteers
#
msgid ""
msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-02-26 18:44-0300\n"
"PO-Revision-Date: 2021-08-07 15:42+0200\n"
"Last-Translator: Cristin Maureira-Fredes \n"
"Language: es\n"
"Language-Team: python-doc-es\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.18.0\n"
#: ../Doc/library/difflib.rst:2
#, fuzzy
msgid ":mod:`!difflib` --- Helpers for computing deltas"
msgstr ":mod:`difflib` --- Funciones auxiliares para calcular deltas"
#: ../Doc/library/difflib.rst:11
msgid "**Source code:** :source:`Lib/difflib.py`"
msgstr "**Cdigo fuente:** :source:`Lib/difflib.py`"
#: ../Doc/library/difflib.rst:20
msgid ""
"This module provides classes and functions for comparing sequences. It can "
"be used for example, for comparing files, and can produce information about "
"file differences in various formats, including HTML and context and unified "
"diffs. For comparing directories and files, see also, the :mod:`filecmp` "
"module."
msgstr ""
"Este mdulo proporciona clases y funciones para comparar secuencias. Se "
"puede utilizar, por ejemplo, para comparar archivos y puede producir "
"informacin sobre diferencias de archivo en varios formatos, incluidos HTML "
"y contexto y diferencias unificadas. Para comparar directorios y archivos, "
"consulte tambin el mdulo :mod:`filecmp`."
#: ../Doc/library/difflib.rst:29
msgid ""
"This is a flexible class for comparing pairs of sequences of any type, so "
"long as the sequence elements are :term:`hashable`. The basic algorithm "
"predates, and is a little fancier than, an algorithm published in the late "
"1980's by Ratcliff and Obershelp under the hyperbolic name \"gestalt pattern "
"matching.\" The idea is to find the longest contiguous matching subsequence "
"that contains no \"junk\" elements; these \"junk\" elements are ones that "
"are uninteresting in some sense, such as blank lines or whitespace. "
"(Handling junk is an extension to the Ratcliff and Obershelp algorithm.) The "
"same idea is then applied recursively to the pieces of the sequences to the "
"left and to the right of the matching subsequence. This does not yield "
"minimal edit sequences, but does tend to yield matches that \"look right\" "
"to people."
msgstr ""
"Esta es una clase flexible para comparar pares de secuencias de cualquier "
"tipo, siempre que los elementos de la secuencia sean :term:`hashable`. El "
"algoritmo bsico es anterior, y un poco mas agradable, que el publicado a "
"fines de los 80' por Ratcliff y Obershelp, bajo el nombre hiperblico de "
"\"*gestalt pattern matching*\". La idea es encontrar la subsecuencia "
"coincidente contigua mas larga que no contenga elementos \"no deseados\"; "
"estos elementos \"no deseados\" son aquellos que no son de inters por algn "
"motivo, como ser lineas en blanco o espacios. (El tratamiento de elementos "
"no deseados es una extensin al algoritmo de Ratcliff y Obershelp). La misma "
"idea se aplica recursivamente a las partes de la secuencia a la derecha e "
"izquierda de cada subsecuencia correspondiente. Esto no proporciona "
"secuencias de edicin mnimas, pero tiende a producir coincidencias que "
"\"parecen correctas\" a las personas."
#: ../Doc/library/difflib.rst:41
msgid ""
"**Timing:** The basic Ratcliff-Obershelp algorithm is cubic time in the "
"worst case and quadratic time in the expected case. :class:`SequenceMatcher` "
"is quadratic time for the worst case and has expected-case behavior "
"dependent in a complicated way on how many elements the sequences have in "
"common; best case time is linear."
msgstr ""
"**Complejidad temporal:** En el peor de los casos el algoritmo Ratcliff-"
"Obershelp bsico es de complejidad cbica y de complejidad temporal "
"cuadrtica en el caso esperado. :class:`SequenceMatcher` es de complejidad "
"temporal cuadrtica en el peor de los casos y el comportamiento del caso "
"esperado depende de manera complicada de cuntos elementos tienen en comn "
"las secuencias; en el mejor de los casos la complejidad temporal es lineal."
#: ../Doc/library/difflib.rst:47
#, python-format
msgid ""
"**Automatic junk heuristic:** :class:`SequenceMatcher` supports a heuristic "
"that automatically treats certain sequence items as junk. The heuristic "
"counts how many times each individual item appears in the sequence. If an "
"item's duplicates (after the first one) account for more than 1% of the "
"sequence and the sequence is at least 200 items long, this item is marked as "
"\"popular\" and is treated as junk for the purpose of sequence matching. "
"This heuristic can be turned off by setting the ``autojunk`` argument to "
"``False`` when creating the :class:`SequenceMatcher`."
msgstr ""
"**Heurstica automtica de elementos no deseados:** :class:`SequenceMatcher` "
"implementa un mtodo heurstico que identifica automticamente a ciertos "
"elementos como no deseados. El mtodo heurstico consiste en contar "
"cuantas veces aparece cada elemento en la secuencia. Si las apariciones del "
"duplicado de un elemento (despus del primero) contabilizan mas del 1% de la "
"secuencia, y a su vez la secuencia contiene mas de 200 elementos, este es "
"identificado como \"popular\" y es considerado no deseado. Este mtodo "
"heurstico puede desactivarse estableciendo el argumento ``autojunk`` como "
"``False`` al crear la clase :class:`SequenceMatcher`."
#: ../Doc/library/difflib.rst:55 ../Doc/library/difflib.rst:386
#, fuzzy
msgid "Added the *autojunk* parameter."
msgstr "El parmetro *autojunk*."
#: ../Doc/library/difflib.rst:61
msgid ""
"This is a class for comparing sequences of lines of text, and producing "
"human-readable differences or deltas. Differ uses :class:`SequenceMatcher` "
"both to compare sequences of lines, and to compare sequences of characters "
"within similar (near-matching) lines."
msgstr ""
"Esta clase se utiliza para comparar secuencias de lineas de texto y producir "
"diferencias o deltas en una forma legible por humanos. Differ usa :class:"
"`SequenceMatcher` tanto para comparar secuencias de lineas, como para "
"comparar secuencias de caracteres entre lineas similares."
#: ../Doc/library/difflib.rst:66
msgid "Each line of a :class:`Differ` delta begins with a two-letter code:"
msgstr ""
"Cada linea de un delta de :class:`Differ` comienza con un cdigo de dos "
"letras:"
#: ../Doc/library/difflib.rst:69
msgid "Code"
msgstr "Cdigo"
#: ../Doc/library/difflib.rst:69 ../Doc/library/difflib.rst:496
msgid "Meaning"
msgstr "Significado"
#: ../Doc/library/difflib.rst:71
msgid "``'- '``"
msgstr "``'- '``"
#: ../Doc/library/difflib.rst:71
msgid "line unique to sequence 1"
msgstr "lnea nica para la secuencia 1"
#: ../Doc/library/difflib.rst:73
msgid "``'+ '``"
msgstr "``'+ '``"
#: ../Doc/library/difflib.rst:73
msgid "line unique to sequence 2"
msgstr "lnea nica para la secuencia 2"
#: ../Doc/library/difflib.rst:75
msgid "``' '``"
msgstr "``' '``"
#: ../Doc/library/difflib.rst:75
msgid "line common to both sequences"
msgstr "lnea comn a ambas secuencias"
#: ../Doc/library/difflib.rst:77
msgid "``'? '``"
msgstr "``'? '``"
#: ../Doc/library/difflib.rst:77
msgid "line not present in either input sequence"
msgstr "lnea ausente en todas las secuencias de entrada"
#: ../Doc/library/difflib.rst:80
#, fuzzy
msgid ""
"Lines beginning with '``?``' attempt to guide the eye to intraline "
"differences, and were not present in either input sequence. These lines can "
"be confusing if the sequences contain whitespace characters, such as spaces, "
"tabs or line breaks."
msgstr ""
"Las lneas que empiezan con '``?``' intentan guiar al ojo hacia las "
"diferencias intralneas, y no estuvieron presentes en ninguna de las "
"secuencias de entrada. Estas lneas pueden ser confusas si la secuencia "
"contiene caracteres de tabulacin."
#: ../Doc/library/difflib.rst:87
msgid ""
"This class can be used to create an HTML table (or a complete HTML file "
"containing the table) showing a side by side, line by line comparison of "
"text with inter-line and intra-line change highlights. The table can be "
"generated in either full or contextual difference mode."
msgstr ""
"Esta clase puede ser usada para crear una tabla HTML (o un archivo HTML "
"completo que contenga la tabla) mostrando comparaciones lado a lado y linea "
"por linea del texto, con cambios interlineales e intralineales. La tabla se "
"puede generar en modo de diferencia completa o contextual."
#: ../Doc/library/difflib.rst:92
msgid "The constructor for this class is:"
msgstr "El constructor de esta clase es:"
#: ../Doc/library/difflib.rst:97
msgid "Initializes instance of :class:`HtmlDiff`."
msgstr "Inicializa una instancia de :class:`HtmlDiff`."
#: ../Doc/library/difflib.rst:99
msgid ""
"*tabsize* is an optional keyword argument to specify tab stop spacing and "
"defaults to ``8``."
msgstr ""
"*tabsize* es un argumento por palabra clave opcional para especificar el "
"espaciado de tabulacin. Su valor predeterminado es ``8``."
#: ../Doc/library/difflib.rst:102
msgid ""
"*wrapcolumn* is an optional keyword to specify column number where lines are "
"broken and wrapped, defaults to ``None`` where lines are not wrapped."
msgstr ""
"*wrapcolumn* es un argumento por palabra clave opcional para especificar el "
"nmero de columnas donde las lineas sern divididas y ajustadas al ancho de "
"columna, su valor por defecto es ``None``, donde las lineas no son ajustadas."
#: ../Doc/library/difflib.rst:105
msgid ""
"*linejunk* and *charjunk* are optional keyword arguments passed into :func:"
"`ndiff` (used by :class:`HtmlDiff` to generate the side by side HTML "
"differences). See :func:`ndiff` documentation for argument default values "
"and descriptions."
msgstr ""
"*linejunk* y *charjunk* son argumentos por palabra clave opcionales que "
"sern pasados a :func:`ndiff` (que es utilizado por :class:`HtmlDiff` para "
"generar las diferencias lado a lado en HTML). Refirase a la documentacin "
"de :func:`ndiff` para conocer los detalles y valores por defecto de sus "
"argumentos."
#: ../Doc/library/difflib.rst:109
msgid "The following methods are public:"
msgstr "Los siguientes mtodos son pblicos:"
#: ../Doc/library/difflib.rst:114
msgid ""
"Compares *fromlines* and *tolines* (lists of strings) and returns a string "
"which is a complete HTML file containing a table showing line by line "
"differences with inter-line and intra-line changes highlighted."
msgstr ""
"Compara *fromlines* y *tolines* (listas de cadenas de texto) y retorna una "
"cadena de caracteres que representa un archivo HTML completo que contiene "
"una tabla mostrando diferencias lnea por lnea del texto con cambios "
"interlineales e intralineales resaltados."
#: ../Doc/library/difflib.rst:118
msgid ""
"*fromdesc* and *todesc* are optional keyword arguments to specify from/to "
"file column header strings (both default to an empty string)."
msgstr ""
"*fromdesc* y *todesc* son argumentos por palabra clave opcionales para "
"especificar los encabezados de las columnas desde *fromdesc* hasta *todesc* "
"en el archivo (ambas cadenas estn vacas por defecto)."
#: ../Doc/library/difflib.rst:121
msgid ""
"*context* and *numlines* are both optional keyword arguments. Set *context* "
"to ``True`` when contextual differences are to be shown, else the default is "
"``False`` to show the full files. *numlines* defaults to ``5``. When "
"*context* is ``True`` *numlines* controls the number of context lines which "
"surround the difference highlights. When *context* is ``False`` *numlines* "
"controls the number of lines which are shown before a difference highlight "
"when using the \"next\" hyperlinks (setting to zero would cause the \"next\" "
"hyperlinks to place the next difference highlight at the top of the browser "
"without any leading context)."
msgstr ""
"*context* y *numlines* son parmetros opcionales. Establezca *context* como "
"``True`` para mostrar diferencias contextuales, de lo contrario su valor por "
"defecto es ``False`` que muestra los archivos completos. El valor por "
"defecto de *numlines* es ``5``. Cuando *context* es ``True``, *numlines* "
"controla el nmero de lineas de contexto que rodean las diferencias "
"resaltadas. Cuando *context* es ``False``, *numlines* controla el nmero de "
"lneas que se muestran antes de una diferencia resaltada cuando se usan los "
"hipervnculos \"next\" (un valor de cero produce que los hipervnculos "
"\"next\" ubiquen el siguiente resaltado en la parte superior del navegador, "
"sin ningn contexto principal)."
#: ../Doc/library/difflib.rst:132
msgid ""
"*fromdesc* and *todesc* are interpreted as unescaped HTML and should be "
"properly escaped while receiving input from untrusted sources."
msgstr ""
"*fromdesc* y *todesc* se interpretan como HTML no escapado y se deben "
"escapar correctamente si los datos son recibidos de fuentes no confiables."
#: ../Doc/library/difflib.rst:135
msgid ""
"*charset* keyword-only argument was added. The default charset of HTML "
"document changed from ``'ISO-8859-1'`` to ``'utf-8'``."
msgstr ""
"Se agreg el argumento slo de palabra clave *charset*. La codificacin de "
"caracteres por defecto para documentos HTML se cambi de ``'ISO-8859-1'`` a "
"``'utf-8'``."
#: ../Doc/library/difflib.rst:141
msgid ""
"Compares *fromlines* and *tolines* (lists of strings) and returns a string "
"which is a complete HTML table showing line by line differences with inter-"
"line and intra-line changes highlighted."
msgstr ""
"Compara *fromlines* y *tolines* (listas de cadenas de texto) y retorna una "
"cadena de caracteres que representa una tabla HTML mostrando comparaciones "
"lado a lado y lnea por lnea del texto con cambios interlineales e "
"intralineales."
#: ../Doc/library/difflib.rst:145
msgid ""
"The arguments for this method are the same as those for the :meth:"
"`make_file` method."
msgstr ""
"Los argumentos para este mtodo son los mismos que los del mtodo :meth:"
"`make_file`."
#: ../Doc/library/difflib.rst:152
msgid ""
"Compare *a* and *b* (lists of strings); return a delta (a :term:`generator` "
"generating the delta lines) in context diff format."
msgstr ""
"Compara *a* y *b* (listas de cadenas de texto); retorna un delta (un :term:"
"`generator` que genera las lineas delta) en formato de diferencias de "
"contexto."
#: ../Doc/library/difflib.rst:155
msgid ""
"Context diffs are a compact way of showing just the lines that have changed "
"plus a few lines of context. The changes are shown in a before/after "
"style. The number of context lines is set by *n* which defaults to three."
msgstr ""
"El formato de diferencias de contexto es una forma compacta de mostrar "
"solamente las lneas que fueron modificadas y algunas lneas adicionales de "
"contexto. Los cambios son mostrados utilizando el estilo antes/despus. El "
"nmero de lneas de contexto es determinado por *n*, cuyo valor por defecto "
"es ``3``."
#: ../Doc/library/difflib.rst:159
msgid ""
"By default, the diff control lines (those with ``***`` or ``---``) are "
"created with a trailing newline. This is helpful so that inputs created "
"from :func:`io.IOBase.readlines` result in diffs that are suitable for use "
"with :func:`io.IOBase.writelines` since both the inputs and outputs have "
"trailing newlines."
msgstr ""
"Por defecto, las lneas de control (aquellas que comienzan con ``***`` o "
"``---``) son creadas con una lnea nueva. Esto es de ayuda para que las "
"entradas creadas por :func:`io.IOBase.readlines` generen diferencias que "
"puedan ser utilizadas con :func:`io.IOBase.writelines` ya que ambas, la "
"entrada y la salida, tienen lneas nuevas al final."
#: ../Doc/library/difflib.rst:165 ../Doc/library/difflib.rst:297
msgid ""
"For inputs that do not have trailing newlines, set the *lineterm* argument "
"to ``\"\"`` so that the output will be uniformly newline free."
msgstr ""
"Para entradas que no tienen nuevas lneas finales, establezca el argumento "
"*lineterm* como ``\"\"`` de forma que la salida sea uniforme y libre de "
"nuevas lneas."
#: ../Doc/library/difflib.rst:168
msgid ""
"The context diff format normally has a header for filenames and modification "
"times. Any or all of these may be specified using strings for *fromfile*, "
"*tofile*, *fromfiledate*, and *tofiledate*. The modification times are "
"normally expressed in the ISO 8601 format. If not specified, the strings "
"default to blanks."
msgstr ""
"El formato de diferencias de contexto normalmente tiene un encabezado para "
"nombres de archivos y tiempos de modificaciones. Alguno o todos estos debe "
"ser especificado utilizando las cadenas de texto para *fromfile*, *tofile*, "
"*fromfiledate* y *tofiledate*. Los tiempos de modificacin son normalmente "
"expresados en formato ISO 8601. Si no es especificado las cadenas por "
"defecto son espacios en blanco."
#: ../Doc/library/difflib.rst:194 ../Doc/library/difflib.rst:320
msgid "See :ref:`difflib-interface` for a more detailed example."
msgstr "Vea :ref:`difflib-interface` para un ejemplo mas detallado."
#: ../Doc/library/difflib.rst:199
msgid ""
"Return a list of the best \"good enough\" matches. *word* is a sequence for "
"which close matches are desired (typically a string), and *possibilities* is "
"a list of sequences against which to match *word* (typically a list of "
"strings)."
msgstr ""
"Retorna una lista de las mejores coincidencias \"lo suficientemente "
"buenas\". *word* es una secuencia para la cual coincidencias cercanas son "
"deseadas (usualmente una cadena de texto), y *possibilities* es una lista de "
"secuencias contra la cual se compara *word* (comnmente una lista de cadenas "
"de caracteres)."
#: ../Doc/library/difflib.rst:203
msgid ""
"Optional argument *n* (default ``3``) is the maximum number of close matches "
"to return; *n* must be greater than ``0``."
msgstr ""
"Argumento opcional *n* (por defecto ``3``) es el mximo nmero de "
"coincidencias cercanas a retornar; *n* debe ser mayor que ``0``."
#: ../Doc/library/difflib.rst:206
msgid ""
"Optional argument *cutoff* (default ``0.6``) is a float in the range [0, 1]. "
"Possibilities that don't score at least that similar to *word* are ignored."
msgstr ""
"Argumento opcional *cutoff* (por defecto ``0.6``) es un flotante en el rango "
"[0, 1]. Las posibilidades que no alcanzan un puntaje al menos similar al de "
"*word* son ignoradas."
#: ../Doc/library/difflib.rst:209
msgid ""
"The best (no more than *n*) matches among the possibilities are returned in "
"a list, sorted by similarity score, most similar first."
msgstr ""
"Las mejores (no mas de *n*) coincidencias entre las posibilidades son "
"retornadas en una lista, ordenadas por similitud de puntaje, las mas "
"similares primero."
#: ../Doc/library/difflib.rst:225
msgid ""
"Compare *a* and *b* (lists of strings); return a :class:`Differ`\\ -style "
"delta (a :term:`generator` generating the delta lines)."
msgstr ""
"Compara *a* y *b* (listas de cadenas de texto); retorna un delta del estilo :"
"class:`Differ` (un :term:`generator` que genera los deltas de las lneas)."
#: ../Doc/library/difflib.rst:228
msgid ""
"Optional keyword parameters *linejunk* and *charjunk* are filtering "
"functions (or ``None``):"
msgstr ""
"Parmetros de palabra clave opcional *linejunk* y *charjunk* son funciones "
"de filtrado (o ``None``):"
#: ../Doc/library/difflib.rst:231
msgid ""
"*linejunk*: A function that accepts a single string argument, and returns "
"true if the string is junk, or false if not. The default is ``None``. There "
"is also a module-level function :func:`IS_LINE_JUNK`, which filters out "
"lines without visible characters, except for at most one pound character "
"(``'#'``) -- however the underlying :class:`SequenceMatcher` class does a "
"dynamic analysis of which lines are so frequent as to constitute noise, and "
"this usually works better than using this function."
msgstr ""
"*linejunk*: Una funcin que acepta una sola cadena de caracteres como "
"argumento, y retorna verdadero si la cadena de texto es un elemento no "
"deseado, o falso si no lo es. Su valor por defecto es ``None``. Hay tambin "
"una funcin a nivel del mdulo :func:`IS_LINE_JUNK`, que filtra lneas sin "
"caracteres visibles, excepto como mucho un carcter de libra (``'#'``) -- de "
"cualquier forma la clase subyacente :class:`SequenceMatcher` realiza un "
"anlisis dinmico sobre cules lineas son tan frecuentes como para "
"constituir ruido, y esto usualmente funciona mejor que utilizando esta "
"funcin."
#: ../Doc/library/difflib.rst:239
msgid ""
"*charjunk*: A function that accepts a character (a string of length 1), and "
"returns if the character is junk, or false if not. The default is module-"
"level function :func:`IS_CHARACTER_JUNK`, which filters out whitespace "
"characters (a blank or tab; it's a bad idea to include newline in this!)."
msgstr ""
"*charjunk*: Una funcin que acepta un carcter (una cadena de caracteres de "
"longitud 1) como argumento, y retorna `True` si el carcter es un elemento "
"no deseado, o `False` si no lo es. El valor por defecto es una funcin a "
"nivel del mdulo :func:`IS_CHARACTER_JUNK`, que filtra caracteres de "
"espacios en blanco (un espacio en blanco o tabulacin; es una mala idea "
"incluir saltos de lineas en esto!)"
#: ../Doc/library/difflib.rst:260
msgid "Return one of the two sequences that generated a delta."
msgstr "Retorna uno de las dos secuencias que generaron un delta."
#: ../Doc/library/difflib.rst:262
msgid ""
"Given a *sequence* produced by :meth:`Differ.compare` or :func:`ndiff`, "
"extract lines originating from file 1 or 2 (parameter *which*), stripping "
"off line prefixes."
msgstr ""
"Dada una *sequence* producida por :meth:`Differ.compare` o :func:`ndiff`, "
"extrae las lneas originadas por el archivo 1 o 2 (parmetro *which*), "
"quitando los prefijos de la lnea."
#: ../Doc/library/difflib.rst:266
msgid "Example:"
msgstr "Ejemplo:"
#: ../Doc/library/difflib.rst:283
msgid ""
"Compare *a* and *b* (lists of strings); return a delta (a :term:`generator` "
"generating the delta lines) in unified diff format."
msgstr ""
"Compara *a* y *b* (listas de cadenas de caracteres); retorna un delta (un :"
"term:`generator` que genera los delta de lneas) en formato de diferencias "
"unificado."
#: ../Doc/library/difflib.rst:286
msgid ""
"Unified diffs are a compact way of showing just the lines that have changed "
"plus a few lines of context. The changes are shown in an inline style "
"(instead of separate before/after blocks). The number of context lines is "
"set by *n* which defaults to three."
msgstr ""
"Las diferencias unificadas son una forma compacta de mostrar slo las lneas "
"que presentan cambios y algunas lneas de contexto adicionales. Los cambios "
"son mostrados en una sola lnea (en lugar de bloques separados antes y "
"despus). El nmero de lneas de contexto se establece mediante *n*, cuyo "
"valor por defecto es tres."
#: ../Doc/library/difflib.rst:291
msgid ""
"By default, the diff control lines (those with ``---``, ``+++``, or ``@@``) "
"are created with a trailing newline. This is helpful so that inputs created "
"from :func:`io.IOBase.readlines` result in diffs that are suitable for use "
"with :func:`io.IOBase.writelines` since both the inputs and outputs have "
"trailing newlines."
msgstr ""
"Por defecto, las lneas de control de diferencias (aquellas con ``---``, ``++"
"+``, o ``@@``) son creadas con un salto de lnea nuevo. Esto es de ayuda "
"para que las entradas creadas por :func:`io.IOBase.readlines` generen "
"diferencias que puedan ser utilizadas con :func:`io.IOBase.writelines` ya "
"que ambas, la entrada y la salida, tienen lneas nuevas al final."
#: ../Doc/library/difflib.rst:300
#, fuzzy
msgid ""
"The unified diff format normally has a header for filenames and modification "
"times. Any or all of these may be specified using strings for *fromfile*, "
"*tofile*, *fromfiledate*, and *tofiledate*. The modification times are "
"normally expressed in the ISO 8601 format. If not specified, the strings "
"default to blanks."
msgstr ""
"El formato de diferencias de contexto normalmente tiene un encabezado para "
"nombres de archivos y tiempos de modificaciones. Alguno o todos estos debe "
"ser especificado utilizando las cadenas de texto para *fromfile*, *tofile*, "
"*fromfiledate* y *tofiledate*. Los tiempos de modificacin son normalmente "
"expresados en formato ISO 8601. Si no es especificado las cadenas por "
"defecto son espacios en blanco."
#: ../Doc/library/difflib.rst:324
msgid ""
"Compare *a* and *b* (lists of bytes objects) using *dfunc*; yield a sequence "
"of delta lines (also bytes) in the format returned by *dfunc*. *dfunc* must "
"be a callable, typically either :func:`unified_diff` or :func:`context_diff`."
msgstr ""
"Compara *a* y *b* (listas de objetos de bytes) usando *dfunc*; produce una "
"secuencia de lneas delta (tambin bytes) en el formato retornado por "
"*dfunc*. *dfunc* debe ser invocable, comnmente cualquiera de :func:"
"`unified_diff` o :func:`context_diff`."
#: ../Doc/library/difflib.rst:329
msgid ""
"Allows you to compare data with unknown or inconsistent encoding. All inputs "
"except *n* must be bytes objects, not str. Works by losslessly converting "
"all inputs (except *n*) to str, and calling ``dfunc(a, b, fromfile, tofile, "
"fromfiledate, tofiledate, n, lineterm)``. The output of *dfunc* is then "
"converted back to bytes, so the delta lines that you receive have the same "
"unknown/inconsistent encodings as *a* and *b*."
msgstr ""
"Permite comparar datos con codificacin desconocida o inconsistente. Todas "
"las entradas, excepto *n*, deben ser objetos de bytes, no cadenas de texto. "
"Funciona convirtiendo sin prdidas todas las entradas (excepto *n*) a "
"cadenas de texto, e invoca ``dfunc(a, b, fromfile, tofile, fromfiledate, "
"tofiledate, n, lineterm)``. La salida de *dfunc* es entonces convertida "
"nuevamente a bytes, de forma que las lneas delta que son recibidas tienen "
"la misma codificacin desconocida/inconsistente que *a* y *b*."
#: ../Doc/library/difflib.rst:340
msgid ""
"Return ``True`` for ignorable lines. The line *line* is ignorable if *line* "
"is blank or contains a single ``'#'``, otherwise it is not ignorable. Used "
"as a default for parameter *linejunk* in :func:`ndiff` in older versions."
msgstr ""
"Retorna ``True`` para lneas que deben ser ignoradas. La lnea *line* es "
"ignorada si *line* es un espacio vaco o contiene un solo ``'#'``, en "
"cualquier otro caso no es ignorado. Es usado como valor por defecto para el "
"parmetro *linejunk* por :func:`ndiff` en versiones anteriores."
#: ../Doc/library/difflib.rst:347
msgid ""
"Return ``True`` for ignorable characters. The character *ch* is ignorable "
"if *ch* is a space or tab, otherwise it is not ignorable. Used as a default "
"for parameter *charjunk* in :func:`ndiff`."
msgstr ""
"Retorna ``True`` para los caracteres que deben ser ignorados. El carcter "
"*ch* es ignorado si *ch* es un espacio en blanco o tabulacin, en cualquier "
"otro caso no es ignorado. Es utilizado como valor por defecto para el "
"parmetro *charjunk* en :func:`ndiff`."
#: ../Doc/library/difflib.rst:354
msgid ""
"`Pattern Matching: The Gestalt Approach `_"
msgstr ""
#: ../Doc/library/difflib.rst:355
#, fuzzy
msgid ""
"Discussion of a similar algorithm by John W. Ratcliff and D. E. Metzener. "
"This was published in Dr. Dobb's Journal in July, 1988."
msgstr ""
"Discusin de un algoritmo similar por John W. Ratcliff y D. E. Metzener. "
"Esto fue publicado en `Dr. Dobb's Journal `_ en "
"Julio de 1988."
#: ../Doc/library/difflib.rst:362
msgid "SequenceMatcher Objects"
msgstr "Objetos *SequenceMatcher*"
#: ../Doc/library/difflib.rst:364
msgid "The :class:`SequenceMatcher` class has this constructor:"
msgstr "La clase :class:`SequenceMatcher` tiene este constructor:"
#: ../Doc/library/difflib.rst:369
msgid ""
"Optional argument *isjunk* must be ``None`` (the default) or a one-argument "
"function that takes a sequence element and returns true if and only if the "
"element is \"junk\" and should be ignored. Passing ``None`` for *isjunk* is "
"equivalent to passing ``lambda x: False``; in other words, no elements are "
"ignored. For example, pass::"
msgstr ""
"El argumento opcional *isjunk* debe ser ``None`` (que es su valor por "
"defecto) o una funcin de un solo argumento que reciba un elemento de la "
"secuencia y retorne verdadero si y solo si el elemento es no deseado y deba "
"ser ignorado. Pasar el argumento *isjunk* como ``None`` es equivalente a "
"pasar ``lambda x: False``; en otras palabras, ningn elemento es ignorado. "
"Por ejemplo, pasar:"
#: ../Doc/library/difflib.rst:375
msgid "lambda x: x in \" \\t\""
msgstr ""
#: ../Doc/library/difflib.rst:377
msgid ""
"if you're comparing lines as sequences of characters, and don't want to "
"synch up on blanks or hard tabs."
msgstr ""
"si se estn comparando lneas como secuencias de caracteres, y no se quiere "
"sincronizar en espacios blancos o tabulaciones."
#: ../Doc/library/difflib.rst:380
msgid ""
"The optional arguments *a* and *b* are sequences to be compared; both "
"default to empty strings. The elements of both sequences must be :term:"
"`hashable`."
msgstr ""
"Los argumentos opcionales *a* y *b* son las secuencias a comparar; ambos "
"tienen como valor por defecto una cadena de texto vaca. Los elementos de "
"ambas secuencias deben ser :term:`hashable`."
#: ../Doc/library/difflib.rst:383
msgid ""
"The optional argument *autojunk* can be used to disable the automatic junk "
"heuristic."
msgstr ""
"El argumento opcional *autojunk* puede ser usado para deshabilitar la "
"heurstica automtica de elementos no deseados."
#: ../Doc/library/difflib.rst:389
msgid ""
"SequenceMatcher objects get three data attributes: *bjunk* is the set of "
"elements of *b* for which *isjunk* is ``True``; *bpopular* is the set of non-"
"junk elements considered popular by the heuristic (if it is not disabled); "
"*b2j* is a dict mapping the remaining elements of *b* to a list of positions "
"where they occur. All three are reset whenever *b* is reset with :meth:"
"`set_seqs` or :meth:`set_seq2`."
msgstr ""
"Los objetos `SequenceMatcher` reciben tres atributos: *bjunk* es el conjunto "
"de elementos de *b* para los cuales *isjunk* es ``True``; *bpopular* es el "
"set de elementos que no son basura considerados populares por la heurstica "
"(si no es que fue deshabilitada); *b2j* es un diccionario que mapea "
"elementos de *b* a una lista de posiciones donde estos ocurren. Los tres "
"atributos son reseteados cuando *b* es reseteado mediante :meth:`set_seqs` "
"o :meth:`set_seq2`."
#: ../Doc/library/difflib.rst:396
msgid "The *bjunk* and *bpopular* attributes."
msgstr "Los atributos *bjunk* y *bpopular*."
#: ../Doc/library/difflib.rst:399
msgid ":class:`SequenceMatcher` objects have the following methods:"
msgstr "Los objetos :class:`SequenceMatcher` tienen los siguientes mtodos:"
#: ../Doc/library/difflib.rst:403
msgid "Set the two sequences to be compared."
msgstr "Establece las dos secuencias a ser comparadas."
#: ../Doc/library/difflib.rst:405
msgid ""
":class:`SequenceMatcher` computes and caches detailed information about the "
"second sequence, so if you want to compare one sequence against many "
"sequences, use :meth:`set_seq2` to set the commonly used sequence once and "
"call :meth:`set_seq1` repeatedly, once for each of the other sequences."
msgstr ""
":class:`SequenceMatcher` calcula y almacena informacin detallada sobre la "
"segunda secuencia, con lo cual si quieres comparar una secuencia contra "
"muchas otras, usa :meth:`set_seq2` para establecer la secuencia comn una "
"sola vez y llamar :meth:`set_seq1` repetidamente, una vez por cada una de "
"las otras secuencias."
#: ../Doc/library/difflib.rst:413
msgid ""
"Set the first sequence to be compared. The second sequence to be compared "
"is not changed."
msgstr ""
"Establece la primer secuencia a ser comparada. La segunda secuencia a ser "
"comparada no es modificada."
#: ../Doc/library/difflib.rst:419
msgid ""
"Set the second sequence to be compared. The first sequence to be compared "
"is not changed."
msgstr ""
"Establece la segunda secuencia a ser comparada. La primera secuencia a ser "
"comparada no es modificada."
#: ../Doc/library/difflib.rst:425
msgid "Find longest matching block in ``a[alo:ahi]`` and ``b[blo:bhi]``."
msgstr ""
"Encuentra el bloque de coincidencia mas largo en ``a[alo:ahi]`` y ``b[blo:"
"bhi]``."
#: ../Doc/library/difflib.rst:427
msgid ""
"If *isjunk* was omitted or ``None``, :meth:`find_longest_match` returns "
"``(i, j, k)`` such that ``a[i:i+k]`` is equal to ``b[j:j+k]``, where ``alo "
" b[{}:{}] {!r:>8} --> {!r}'.format(\n"
"... tag, i1, i2, j1, j2, a[i1:i2], b[j1:j2]))\n"
"delete a[0:1] --> b[0:0] 'q' --> ''\n"
"equal a[1:3] --> b[0:2] 'ab' --> 'ab'\n"
"replace a[3:4] --> b[2:3] 'x' --> 'y'\n"
"equal a[4:6] --> b[3:5] 'cd' --> 'cd'\n"
"insert a[6:6] --> b[5:6] '' --> 'f'"
msgstr ""
#: ../Doc/library/difflib.rst:529
msgid "Return a :term:`generator` of groups with up to *n* lines of context."
msgstr ""
"Retorna un :term:`generator` de grupos de hasta *n* lneas de contexto."
#: ../Doc/library/difflib.rst:531
msgid ""
"Starting with the groups returned by :meth:`get_opcodes`, this method splits "
"out smaller change clusters and eliminates intervening ranges which have no "
"changes."
msgstr ""
"Empezando con los grupos retornados por :meth:`get_opcodes`, este mtodo "
"separa grupos con cambios menores y elimina los rangos intermedios que no "
"tienen cambios."
#: ../Doc/library/difflib.rst:535
msgid "The groups are returned in the same format as :meth:`get_opcodes`."
msgstr "Los grupos son retornados en el mismo formato que :meth:`get_opcodes`."
#: ../Doc/library/difflib.rst:540
msgid ""
"Return a measure of the sequences' similarity as a float in the range [0, 1]."
msgstr ""
"Retorna una medida de la similitud de las secuencias como un flotante en el "
"rango [0, 1]."
#: ../Doc/library/difflib.rst:543
msgid ""
"Where T is the total number of elements in both sequences, and M is the "
"number of matches, this is 2.0\\*M / T. Note that this is ``1.0`` if the "
"sequences are identical, and ``0.0`` if they have nothing in common."
msgstr ""
"Donde T es el nmero total de elementos en ambas secuencias y M es el nmero "
"de coincidencias, esto es 2.0\\*M / T. Ntese que esto es ``1.0`` si las "
"secuencias son idnticas y ``0.0`` si no tienen nada en comn."
#: ../Doc/library/difflib.rst:547
msgid ""
"This is expensive to compute if :meth:`get_matching_blocks` or :meth:"
"`get_opcodes` hasn't already been called, in which case you may want to try :"
"meth:`quick_ratio` or :meth:`real_quick_ratio` first to get an upper bound."
msgstr ""
"Esto es computacionalmente costoso si :meth:`get_matching_blocks` o :meth:"
"`get_opcodes` no fueron ejecutados, in tal caso deberas considerar primero :"
"meth:`quick_ratio` o :meth:`real_quick_ratio` para obtener un lmite "
"superior."
#: ../Doc/library/difflib.rst:554
msgid ""
"Caution: The result of a :meth:`ratio` call may depend on the order of the "
"arguments. For instance::"
msgstr ""
"Precaucin: El resultado de una llamada a :meth:`ratio` puede depender del "
"orden de los argumentos. Por ejemplo::"
#: ../Doc/library/difflib.rst:557
msgid ""
">>> SequenceMatcher(None, 'tide', 'diet').ratio()\n"
"0.25\n"
">>> SequenceMatcher(None, 'diet', 'tide').ratio()\n"
"0.5"
msgstr ""
#: ../Doc/library/difflib.rst:565
msgid "Return an upper bound on :meth:`ratio` relatively quickly."
msgstr "Retorna un lmite superior en :meth:`ratio` relativamente rpido."
#: ../Doc/library/difflib.rst:570
msgid "Return an upper bound on :meth:`ratio` very quickly."
msgstr "Retorna un lmite superior en :meth:`ratio` muy rpido."
#: ../Doc/library/difflib.rst:573
#, fuzzy
msgid ""
"The three methods that return the ratio of matching to total characters can "
"give different results due to differing levels of approximation, although :"
"meth:`~SequenceMatcher.quick_ratio` and :meth:`~SequenceMatcher."
"real_quick_ratio` are always at least as large as :meth:`~SequenceMatcher."
"ratio`:"
msgstr ""
"Los tres mtodos que retornan la proporcin de coincidencias con el total de "
"caracteres pueden dar diferentes resultados debido a los distintos niveles "
"de aproximacin, a pesar de que :meth:`quick_ratio` y :meth:"
"`real_quick_ratio` son siempre al menos tan grandes como :meth:`ratio`:"
#: ../Doc/library/difflib.rst:590
msgid "SequenceMatcher Examples"
msgstr ":class:`SequenceMatcher` Ejemplos"
#: ../Doc/library/difflib.rst:592
msgid "This example compares two strings, considering blanks to be \"junk\":"
msgstr ""
"Este ejemplo compara dos cadenas de texto, considerando los espacios en "
"blanco como caracteres no deseados:"
#: ../Doc/library/difflib.rst:598
#, fuzzy
msgid ""
":meth:`~SequenceMatcher.ratio` returns a float in [0, 1], measuring the "
"similarity of the sequences. As a rule of thumb, a :meth:`~SequenceMatcher."
"ratio` value over 0.6 means the sequences are close matches:"
msgstr ""
":meth:`ratio` retorna un flotante en el rango [0, 1], cuantificando la "
"similitud entre las secuencias. Siguiendo la regla del pulgar, un :meth:"
"`ratio` por encima de 0.6 significa que las secuencias son coincidencias "
"cercanas:"
#: ../Doc/library/difflib.rst:605
#, fuzzy
msgid ""
"If you're only interested in where the sequences match, :meth:"
"`~SequenceMatcher.get_matching_blocks` is handy:"
msgstr ""
"Si solamente ests interesado en cundo las secuencias coinciden, :meth:"
"`get_matching_blocks` es til:"
#: ../Doc/library/difflib.rst:614
#, fuzzy
msgid ""
"Note that the last tuple returned by :meth:`~SequenceMatcher."
"get_matching_blocks` is always a dummy, ``(len(a), len(b), 0)``, and this is "
"the only case in which the last tuple element (number of elements matched) "
"is ``0``."
msgstr ""
"Ntese que la ltima tupla retornada por :meth:`get_matching_blocks` es "
"siempre un objeto ficticio (dummy), ``(len(a), len(b), 0)``, y este es el "
"nico caso en el cual el ltimo elemento de la tupla (el nmero de elementos "
"coincidentes) es ``0``."
#: ../Doc/library/difflib.rst:618
#, fuzzy
msgid ""
"If you want to know how to change the first sequence into the second, use :"
"meth:`~SequenceMatcher.get_opcodes`:"
msgstr ""
"Si quieres saber como cambiar la primer secuencia con la segunda, usa :meth:"
"`get_opcodes`:"
#: ../Doc/library/difflib.rst:629
msgid ""
"The :func:`get_close_matches` function in this module which shows how simple "
"code building on :class:`SequenceMatcher` can be used to do useful work."
msgstr ""
"La funcin :func:`get_close_matches` en este mdulo que muestra lo simple "
"que es el cdigo que construye :class:`SequenceMatcher` puede ser utilizada "
"para hacer un trabajo til."
#: ../Doc/library/difflib.rst:633
#, fuzzy
msgid ""
"`Simple version control recipe `_ for a small application built with :class:"
"`SequenceMatcher`."
msgstr ""
"`Una receta simple de un controlador de versiones `_ para una aplicacin pequea construida con :class:"
"`SequenceMatcher`."
#: ../Doc/library/difflib.rst:641
msgid "Differ Objects"
msgstr "Objetos *Differ*"
#: ../Doc/library/difflib.rst:643
msgid ""
"Note that :class:`Differ`\\ -generated deltas make no claim to be "
"**minimal** diffs. To the contrary, minimal diffs are often counter-"
"intuitive, because they synch up anywhere possible, sometimes accidental "
"matches 100 pages apart. Restricting synch points to contiguous matches "
"preserves some notion of locality, at the occasional cost of producing a "
"longer diff."
msgstr ""
"Ntese que los deltas generados por :class:`Differ` no dicen ser diferencias "
"**mnimas**. Todo lo contrario, las diferencias mnimas suelen ser contra-"
"intuitivas, ya que se sincronizan en cualquier lugar posible, a veces "
"coinciden accidentalmente con 100 pginas de diferencia. Restringiendo los "
"puntos de sincronizacin a coincidencias contiguas se preserva cierta nocin "
"de cercana, con el costo adicional de producir diferencias mas largas."
#: ../Doc/library/difflib.rst:649
msgid "The :class:`Differ` class has this constructor:"
msgstr "La clase :class:`Differ` tiene el siguiente constructor:"
#: ../Doc/library/difflib.rst:655
msgid ""
"Optional keyword parameters *linejunk* and *charjunk* are for filter "
"functions (or ``None``):"
msgstr ""
"Parmetros de palabra clave opcionales *linejunk* y *charjunk* son para "
"funciones de filtrado (o ``None``):"
#: ../Doc/library/difflib.rst:658
msgid ""
"*linejunk*: A function that accepts a single string argument, and returns "
"true if the string is junk. The default is ``None``, meaning that no line "
"is considered junk."
msgstr ""
"*linejunk*: Una funcin que acepta una sola cadena de texto como argumento y "
"retorna verdadero si la cadena de texto es un elemento no deseado. Su valor "
"por defecto es ``None``, lo que significa que ninguna lnea es considerada "
"no deseada."
#: ../Doc/library/difflib.rst:662
msgid ""
"*charjunk*: A function that accepts a single character argument (a string of "
"length 1), and returns true if the character is junk. The default is "
"``None``, meaning that no character is considered junk."
msgstr ""
"*charjunk*: Una funcin que acepta un solo carcter como argumento (una "
"cadena de caracteres de longitud 1) y retorna verdadero si el carcter es un "
"elemento no deseado. Su valor por defecto es ``None``, lo que significa que "
"ningn carcter es considerado no deseado."
#: ../Doc/library/difflib.rst:666
msgid ""
"These junk-filtering functions speed up matching to find differences and do "
"not cause any differing lines or characters to be ignored. Read the "
"description of the :meth:`~SequenceMatcher.find_longest_match` method's "
"*isjunk* parameter for an explanation."
msgstr ""
"Estas funciones de elementos no deseados aceleran la coincidencia para "
"encontrar diferencies y no hacen que se ignoren lneas o caracteres "
"diferentes. Lea la descripcin del parmetro *isjunk* en el mtodo :meth:"
"`~SequenceMatcher.find_longest_match` para una explicacin mas detallada."
#: ../Doc/library/difflib.rst:672
msgid ""
":class:`Differ` objects are used (deltas generated) via a single method:"
msgstr ""
"Los objetos :class:`Differ` son usados (una vez generados los deltas) "
"mediante un solo mtodo:"
#: ../Doc/library/difflib.rst:677
msgid ""
"Compare two sequences of lines, and generate the delta (a sequence of lines)."
msgstr ""
"Compara dos secuencias de lneas y genera el delta correspondiente (una "
"secuencia de lneas)."
#: ../Doc/library/difflib.rst:679
msgid ""
"Each sequence must contain individual single-line strings ending with "
"newlines. Such sequences can be obtained from the :meth:`~io.IOBase."
"readlines` method of file-like objects. The delta generated also consists "
"of newline-terminated strings, ready to be printed as-is via the :meth:`~io."
"IOBase.writelines` method of a file-like object."
msgstr ""
"Cada secuencia debe contener cadenas de texto individuales de una sola linea "
"terminadas con una lnea nueva. Este tipo de secuencias pueden ser obtenidas "
"mediante el mtodo :meth:`~io.IOBase.readlines` de objetos de tipo archivo. "
"Los delta generados consisten tambin en cadenas de texto terminadas en "
"nuevas lineas, listas para imprimirse tal cual a travs del mtodo :meth:"
"`~io.IOBase.writelines` de un objeto de tipo archivo."
#: ../Doc/library/difflib.rst:690
msgid "Differ Example"
msgstr "Ejemplo de *Differ*"
#: ../Doc/library/difflib.rst:692
#, fuzzy
msgid ""
"This example compares two texts. First we set up the texts, sequences of "
"individual single-line strings ending with newlines (such sequences can also "
"be obtained from the :meth:`~io.IOBase.readlines` method of file-like "
"objects):"
msgstr ""
"Este ejemplo compara dos textos. Primero preparamos los textos, secuencias "
"de cadenas de texto individuales de una sola lnea terminadas con una lnea "
"nueva (este tipo de secuencias tambin pueden ser obtenidas mediante el "
"mtodo :meth:`~io.BaseIO.readlines` de objetos de tipo archivo):"
#: ../Doc/library/difflib.rst:711
msgid "Next we instantiate a Differ object:"
msgstr "Luego instanciamos el objeto *Differ*:"
#: ../Doc/library/difflib.rst:715
msgid ""
"Note that when instantiating a :class:`Differ` object we may pass functions "
"to filter out line and character \"junk.\" See the :meth:`Differ` "
"constructor for details."
msgstr ""
"Ntese que cuando instanciamos un objeto :class:`Differ` deberamos pasar "
"funciones para filtrar lineas y caracteres no deseados. Consulte el "
"constructor de :meth:`Differ` para mas detalles."
#: ../Doc/library/difflib.rst:719
msgid "Finally, we compare the two:"
msgstr "Finalmente, comparamos las dos:"
#: ../Doc/library/difflib.rst:723
msgid "``result`` is a list of strings, so let's pretty-print it:"
msgstr ""
"``result`` es una lista de cadenas de caracteres, entonces vamos a mostrarlo "
"de una forma elegante:"
#: ../Doc/library/difflib.rst:738
msgid "As a single multi-line string it looks like this:"
msgstr ""
"Representado como una sola cadena de caracteres de mltiples lneas se ve "
"as:"
#: ../Doc/library/difflib.rst:757
msgid "A command-line interface to difflib"
msgstr "Una interfaz de lnea de comandos para :mod:`difflib`"
#: ../Doc/library/difflib.rst:759
#, fuzzy
msgid ""
"This example shows how to use difflib to create a ``diff``-like utility."
msgstr ""
"Este ejemplo muestra como usar difflib para crear una herramienta de "
"diferencias. Tambin puedes encontrarla en la distribucin estndar de "
"Python como :file:`Tools/scripts/diff.py`."
#: ../Doc/library/difflib.rst:761
msgid ""
"\"\"\" Command line interface to difflib.py providing diffs in four "
"formats:\n"
"\n"
"* ndiff: lists every line and highlights interline changes.\n"
"* context: highlights clusters of changes in a before/after format.\n"
"* unified: highlights clusters of changes in an inline format.\n"
"* html: generates side by side comparison with change highlights.\n"
"\n"
"\"\"\"\n"
"\n"
"import sys, os, difflib, argparse\n"
"from datetime import datetime, timezone\n"
"\n"
"def file_mtime(path):\n"
" t = datetime.fromtimestamp(os.stat(path).st_mtime,\n"
" timezone.utc)\n"
" return t.astimezone().isoformat()\n"
"\n"
"def main():\n"
"\n"
" parser = argparse.ArgumentParser()\n"
" parser.add_argument('-c', action='store_true', default=False,\n"
" help='Produce a context format diff (default)')\n"
" parser.add_argument('-u', action='store_true', default=False,\n"
" help='Produce a unified format diff')\n"
" parser.add_argument('-m', action='store_true', default=False,\n"
" help='Produce HTML side by side diff '\n"
" '(can use -c and -l in conjunction)')\n"
" parser.add_argument('-n', action='store_true', default=False,\n"
" help='Produce a ndiff format diff')\n"
" parser.add_argument('-l', '--lines', type=int, default=3,\n"
" help='Set number of context lines (default 3)')\n"
" parser.add_argument('fromfile')\n"
" parser.add_argument('tofile')\n"
" options = parser.parse_args()\n"
"\n"
" n = options.lines\n"
" fromfile = options.fromfile\n"
" tofile = options.tofile\n"
"\n"
" fromdate = file_mtime(fromfile)\n"
" todate = file_mtime(tofile)\n"
" with open(fromfile) as ff:\n"
" fromlines = ff.readlines()\n"
" with open(tofile) as tf:\n"
" tolines = tf.readlines()\n"
"\n"
" if options.u:\n"
" diff = difflib.unified_diff(fromlines, tolines, fromfile, tofile, "
"fromdate, todate, n=n)\n"
" elif options.n:\n"
" diff = difflib.ndiff(fromlines, tolines)\n"
" elif options.m:\n"
" diff = difflib.HtmlDiff().make_file(fromlines,tolines,fromfile,"
"tofile,context=options.c,numlines=n)\n"
" else:\n"
" diff = difflib.context_diff(fromlines, tolines, fromfile, tofile, "
"fromdate, todate, n=n)\n"
"\n"
" sys.stdout.writelines(diff)\n"
"\n"
"if __name__ == '__main__':\n"
" main()\n"
msgstr ""
#: ../Doc/library/difflib.rst:764
#, fuzzy
msgid "ndiff example"
msgstr "Ejemplo de *Differ*"
#: ../Doc/library/difflib.rst:766
msgid "This example shows how to use :func:`difflib.ndiff`."
msgstr ""
#: ../Doc/library/difflib.rst:768
msgid ""
"\"\"\"ndiff [-q] file1 file2\n"
" or\n"
"ndiff (-r1 | -r2) < ndiff_output > file1_or_file2\n"
"\n"
"Print a human-friendly file difference report to stdout. Both inter-\n"
"and intra-line differences are noted. In the second form, recreate file1\n"
"(-r1) or file2 (-r2) on stdout, from an ndiff report on stdin.\n"
"\n"
"In the first form, if -q (\"quiet\") is not specified, the first two lines\n"
"of output are\n"
"\n"
"-: file1\n"
"+: file2\n"
"\n"
"Each remaining line begins with a two-letter code:\n"
"\n"
" \"- \" line unique to file1\n"
" \"+ \" line unique to file2\n"
" \" \" line common to both files\n"
" \"? \" line not present in either input file\n"
"\n"
"Lines beginning with \"? \" attempt to guide the eye to intraline\n"
"differences, and were not present in either input file. These lines can be\n"
"confusing if the source files contain tab characters.\n"
"\n"
"The first file can be recovered by retaining only lines that begin with\n"
"\" \" or \"- \", and deleting those 2-character prefixes; use ndiff with -"
"r1.\n"
"\n"
"The second file can be recovered similarly, but by retaining only \" \" "
"and\n"
"\"+ \" lines; use ndiff with -r2; or, on Unix, the second file can be\n"
"recovered by piping the output through\n"
"\n"
" sed -n '/^[+ ] /s/^..//p'\n"
"\"\"\"\n"
"\n"
"__version__ = 1, 7, 0\n"
"\n"
"import difflib, sys\n"
"\n"
"def fail(msg):\n"
" out = sys.stderr.write\n"
" out(msg + \"\\n\\n\")\n"
" out(__doc__)\n"
" return 0\n"
"\n"
"# open a file & return the file object; gripe and return 0 if it\n"
"# couldn't be opened\n"
"def fopen(fname):\n"
" try:\n"
" return open(fname)\n"
" except IOError as detail:\n"
" return fail(\"couldn't open \" + fname + \": \" + str(detail))\n"
"\n"
"# open two files & spray the diff to stdout; return false iff a problem\n"
"def fcompare(f1name, f2name):\n"
" f1 = fopen(f1name)\n"
" f2 = fopen(f2name)\n"
" if not f1 or not f2:\n"
" return 0\n"
"\n"
" a = f1.readlines(); f1.close()\n"
" b = f2.readlines(); f2.close()\n"
" for line in difflib.ndiff(a, b):\n"
" print(line, end=' ')\n"
"\n"
" return 1\n"
"\n"
"# crack args (sys.argv[1:] is normal) & compare;\n"
"# return false iff a problem\n"
"\n"
"def main(args):\n"
" import getopt\n"
" try:\n"
" opts, args = getopt.getopt(args, \"qr:\")\n"
" except getopt.error as detail:\n"
" return fail(str(detail))\n"
" noisy = 1\n"
" qseen = rseen = 0\n"
" for opt, val in opts:\n"
" if opt == \"-q\":\n"
" qseen = 1\n"
" noisy = 0\n"
" elif opt == \"-r\":\n"
" rseen = 1\n"
" whichfile = val\n"
" if qseen and rseen:\n"
" return fail(\"can't specify both -q and -r\")\n"
" if rseen:\n"
" if args:\n"
" return fail(\"no args allowed with -r option\")\n"
" if whichfile in (\"1\", \"2\"):\n"
" restore(whichfile)\n"
" return 1\n"
" return fail(\"-r value must be 1 or 2\")\n"
" if len(args) != 2:\n"
" return fail(\"need 2 filename args\")\n"
" f1name, f2name = args\n"
" if noisy:\n"
" print('-:', f1name)\n"
" print('+:', f2name)\n"
" return fcompare(f1name, f2name)\n"
"\n"
"# read ndiff output from stdin, and print file1 (which=='1') or\n"
"# file2 (which=='2') to stdout\n"
"\n"
"def restore(which):\n"
" restored = difflib.restore(sys.stdin.readlines(), which)\n"
" sys.stdout.writelines(restored)\n"
"\n"
"if __name__ == '__main__':\n"
" main(sys.argv[1:])\n"
msgstr ""
#~ msgid ""
#~ "`Pattern Matching: The Gestalt Approach `_"
#~ msgstr ""
#~ "`Pattern Matching: The Gestalt Approach `_"