# 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. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-11-26 18:49+0900\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.5.1\n" #: ../Doc/library/difflib.rst:2 msgid ":mod:`difflib` --- Helpers for computing deltas" msgstr "" #: ../Doc/library/difflib.rst:11 msgid "**Source code:** :source:`Lib/difflib.py`" msgstr "" #: ../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 difference " "information in various formats, including HTML and context and unified " "diffs. For comparing directories and files, see also, the :mod:`filecmp` " "module." msgstr "" #: ../Doc/library/difflib.rst:28 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 "" #: ../Doc/library/difflib.rst:40 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 "" #: ../Doc/library/difflib.rst:46 #, 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 "" #: ../Doc/library/difflib.rst:54 ../Doc/library/difflib.rst:383 msgid "The *autojunk* parameter." msgstr "" #: ../Doc/library/difflib.rst:60 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 "" #: ../Doc/library/difflib.rst:65 msgid "Each line of a :class:`Differ` delta begins with a two-letter code:" msgstr "" #: ../Doc/library/difflib.rst:68 msgid "Code" msgstr "" #: ../Doc/library/difflib.rst:68 ../Doc/library/difflib.rst:489 msgid "Meaning" msgstr "" #: ../Doc/library/difflib.rst:70 msgid "``'- '``" msgstr "" #: ../Doc/library/difflib.rst:70 msgid "line unique to sequence 1" msgstr "" #: ../Doc/library/difflib.rst:72 msgid "``'+ '``" msgstr "" #: ../Doc/library/difflib.rst:72 msgid "line unique to sequence 2" msgstr "" #: ../Doc/library/difflib.rst:74 msgid "``' '``" msgstr "" #: ../Doc/library/difflib.rst:74 msgid "line common to both sequences" msgstr "" #: ../Doc/library/difflib.rst:76 msgid "``'? '``" msgstr "" #: ../Doc/library/difflib.rst:76 msgid "line not present in either input sequence" msgstr "" #: ../Doc/library/difflib.rst:79 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 tab characters." msgstr "" #: ../Doc/library/difflib.rst:86 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 "" #: ../Doc/library/difflib.rst:91 msgid "The constructor for this class is:" msgstr "" #: ../Doc/library/difflib.rst:96 msgid "Initializes instance of :class:`HtmlDiff`." msgstr "" #: ../Doc/library/difflib.rst:98 msgid "" "*tabsize* is an optional keyword argument to specify tab stop spacing and" " defaults to ``8``." msgstr "" #: ../Doc/library/difflib.rst:101 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 "" #: ../Doc/library/difflib.rst:104 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 "" #: ../Doc/library/difflib.rst:108 msgid "The following methods are public:" msgstr "" #: ../Doc/library/difflib.rst:113 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 "" #: ../Doc/library/difflib.rst:117 msgid "" "*fromdesc* and *todesc* are optional keyword arguments to specify from/to" " file column header strings (both default to an empty string)." msgstr "" #: ../Doc/library/difflib.rst:120 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 "" #: ../Doc/library/difflib.rst:130 msgid "" "*charset* keyword-only argument was added. The default charset of HTML " "document changed from ``'ISO-8859-1'`` to ``'utf-8'``." msgstr "" #: ../Doc/library/difflib.rst:136 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 "" #: ../Doc/library/difflib.rst:140 msgid "" "The arguments for this method are the same as those for the " ":meth:`make_file` method." msgstr "" #: ../Doc/library/difflib.rst:143 msgid "" ":file:`Tools/scripts/diff.py` is a command-line front-end to this class " "and contains a good example of its use." msgstr "" #: ../Doc/library/difflib.rst:149 msgid "" "Compare *a* and *b* (lists of strings); return a delta (a " ":term:`generator` generating the delta lines) in context diff format." msgstr "" #: ../Doc/library/difflib.rst:152 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 "" #: ../Doc/library/difflib.rst:156 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 "" #: ../Doc/library/difflib.rst:162 ../Doc/library/difflib.rst:293 msgid "" "For inputs that do not have trailing newlines, set the *lineterm* " "argument to ``\"\"`` so that the output will be uniformly newline free." msgstr "" #: ../Doc/library/difflib.rst:165 ../Doc/library/difflib.rst:296 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 "" #: ../Doc/library/difflib.rst:188 ../Doc/library/difflib.rst:317 msgid "See :ref:`difflib-interface` for a more detailed example." msgstr "" #: ../Doc/library/difflib.rst:193 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 "" #: ../Doc/library/difflib.rst:197 msgid "" "Optional argument *n* (default ``3``) is the maximum number of close " "matches to return; *n* must be greater than ``0``." msgstr "" #: ../Doc/library/difflib.rst:200 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 "" #: ../Doc/library/difflib.rst:203 msgid "" "The best (no more than *n*) matches among the possibilities are returned " "in a list, sorted by similarity score, most similar first." msgstr "" #: ../Doc/library/difflib.rst:219 msgid "" "Compare *a* and *b* (lists of strings); return a :class:`Differ`\\ -style" " delta (a :term:`generator` generating the delta lines)." msgstr "" #: ../Doc/library/difflib.rst:222 msgid "" "Optional keyword parameters *linejunk* and *charjunk* are filtering " "functions (or ``None``):" msgstr "" #: ../Doc/library/difflib.rst:225 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 "" #: ../Doc/library/difflib.rst:233 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 "" #: ../Doc/library/difflib.rst:238 msgid "" ":file:`Tools/scripts/ndiff.py` is a command-line front-end to this " "function." msgstr "" #: ../Doc/library/difflib.rst:256 msgid "Return one of the two sequences that generated a delta." msgstr "" #: ../Doc/library/difflib.rst:258 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 "" #: ../Doc/library/difflib.rst:262 msgid "Example:" msgstr "" #: ../Doc/library/difflib.rst:279 msgid "" "Compare *a* and *b* (lists of strings); return a delta (a " ":term:`generator` generating the delta lines) in unified diff format." msgstr "" #: ../Doc/library/difflib.rst:282 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 "" #: ../Doc/library/difflib.rst:287 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 "" #: ../Doc/library/difflib.rst:321 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 "" #: ../Doc/library/difflib.rst:326 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 "" #: ../Doc/library/difflib.rst:337 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 "" #: ../Doc/library/difflib.rst:344 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 "" #: ../Doc/library/difflib.rst:352 msgid "" "`Pattern Matching: The Gestalt Approach `_" msgstr "" #: ../Doc/library/difflib.rst:352 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 "" #: ../Doc/library/difflib.rst:359 msgid "SequenceMatcher Objects" msgstr "" #: ../Doc/library/difflib.rst:361 msgid "The :class:`SequenceMatcher` class has this constructor:" msgstr "" #: ../Doc/library/difflib.rst:366 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: 0``; in other words, no" " elements are ignored. For example, pass::" msgstr "" #: ../Doc/library/difflib.rst:374 msgid "" "if you're comparing lines as sequences of characters, and don't want to " "synch up on blanks or hard tabs." msgstr "" #: ../Doc/library/difflib.rst:377 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 "" #: ../Doc/library/difflib.rst:380 msgid "" "The optional argument *autojunk* can be used to disable the automatic " "junk heuristic." msgstr "" #: ../Doc/library/difflib.rst:386 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 "" #: ../Doc/library/difflib.rst:393 msgid "The *bjunk* and *bpopular* attributes." msgstr "" #: ../Doc/library/difflib.rst:396 msgid ":class:`SequenceMatcher` objects have the following methods:" msgstr "" #: ../Doc/library/difflib.rst:400 msgid "Set the two sequences to be compared." msgstr "" #: ../Doc/library/difflib.rst:402 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 "" #: ../Doc/library/difflib.rst:410 msgid "" "Set the first sequence to be compared. The second sequence to be " "compared is not changed." msgstr "" #: ../Doc/library/difflib.rst:416 msgid "" "Set the second sequence to be compared. The first sequence to be " "compared is not changed." msgstr "" #: ../Doc/library/difflib.rst:422 msgid "Find longest matching block in ``a[alo:ahi]`` and ``b[blo:bhi]``." msgstr "" #: ../Doc/library/difflib.rst:424 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 <= i <= i+k <= ahi`` and ``blo <= j <= j+k <= bhi``. For all ``(i'," " j', k')`` meeting those conditions, the additional conditions ``k >= " "k'``, ``i <= i'``, and if ``i == i'``, ``j <= j'`` are also met. In other" " words, of all maximal matching blocks, return one that starts earliest " "in *a*, and of all those maximal matching blocks that start earliest in " "*a*, return the one that starts earliest in *b*." msgstr "" #: ../Doc/library/difflib.rst:437 msgid "" "If *isjunk* was provided, first the longest matching block is determined " "as above, but with the additional restriction that no junk element " "appears in the block. Then that block is extended as far as possible by " "matching (only) junk elements on both sides. So the resulting block never" " matches on junk except as identical junk happens to be adjacent to an " "interesting match." msgstr "" #: ../Doc/library/difflib.rst:444 msgid "" "Here's the same example as before, but considering blanks to be junk. " "That prevents ``' abcd'`` from matching the ``' abcd'`` at the tail end " "of the second sequence directly. Instead only the ``'abcd'`` can match, " "and matches the leftmost ``'abcd'`` in the second sequence:" msgstr "" #: ../Doc/library/difflib.rst:453 msgid "If no blocks match, this returns ``(alo, blo, 0)``." msgstr "" #: ../Doc/library/difflib.rst:455 msgid "This method returns a :term:`named tuple` ``Match(a, b, size)``." msgstr "" #: ../Doc/library/difflib.rst:460 msgid "" "Return list of triples describing matching subsequences. Each triple is " "of the form ``(i, j, n)``, and means that ``a[i:i+n] == b[j:j+n]``. The " "triples are monotonically increasing in *i* and *j*." msgstr "" #: ../Doc/library/difflib.rst:464 msgid "" "The last triple is a dummy, and has the value ``(len(a), len(b), 0)``. " "It is the only triple with ``n == 0``. If ``(i, j, n)`` and ``(i', j', " "n')`` are adjacent triples in the list, and the second is not the last " "triple in the list, then ``i+n != i'`` or ``j+n != j'``; in other words, " "adjacent triples always describe non-adjacent equal blocks." msgstr "" #: ../Doc/library/difflib.rst:481 msgid "" "Return list of 5-tuples describing how to turn *a* into *b*. Each tuple " "is of the form ``(tag, i1, i2, j1, j2)``. The first tuple has ``i1 == j1" " == 0``, and remaining tuples have *i1* equal to the *i2* from the " "preceding tuple, and, likewise, *j1* equal to the previous *j2*." msgstr "" #: ../Doc/library/difflib.rst:486 msgid "The *tag* values are strings, with these meanings:" msgstr "" #: ../Doc/library/difflib.rst:489 msgid "Value" msgstr "" #: ../Doc/library/difflib.rst:491 msgid "``'replace'``" msgstr "" #: ../Doc/library/difflib.rst:491 msgid "``a[i1:i2]`` should be replaced by ``b[j1:j2]``." msgstr "" #: ../Doc/library/difflib.rst:494 msgid "``'delete'``" msgstr "" #: ../Doc/library/difflib.rst:494 msgid "``a[i1:i2]`` should be deleted. Note that ``j1 == j2`` in this case." msgstr "" #: ../Doc/library/difflib.rst:497 msgid "``'insert'``" msgstr "" #: ../Doc/library/difflib.rst:497 msgid "" "``b[j1:j2]`` should be inserted at ``a[i1:i1]``. Note that ``i1 == i2`` " "in this case." msgstr "" #: ../Doc/library/difflib.rst:501 msgid "``'equal'``" msgstr "" #: ../Doc/library/difflib.rst:501 msgid "``a[i1:i2] == b[j1:j2]`` (the sub-sequences are equal)." msgstr "" #: ../Doc/library/difflib.rst:505 msgid "For example::" msgstr "" #: ../Doc/library/difflib.rst:522 msgid "Return a :term:`generator` of groups with up to *n* lines of context." msgstr "" #: ../Doc/library/difflib.rst:524 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 "" #: ../Doc/library/difflib.rst:528 msgid "The groups are returned in the same format as :meth:`get_opcodes`." msgstr "" #: ../Doc/library/difflib.rst:533 msgid "" "Return a measure of the sequences' similarity as a float in the range [0," " 1]." msgstr "" #: ../Doc/library/difflib.rst:536 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 "" #: ../Doc/library/difflib.rst:540 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 "" #: ../Doc/library/difflib.rst:548 msgid "Return an upper bound on :meth:`ratio` relatively quickly." msgstr "" #: ../Doc/library/difflib.rst:553 msgid "Return an upper bound on :meth:`ratio` very quickly." msgstr "" #: ../Doc/library/difflib.rst:556 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:`quick_ratio` and :meth:`real_quick_ratio` are always at " "least as large as :meth:`ratio`:" msgstr "" #: ../Doc/library/difflib.rst:573 msgid "SequenceMatcher Examples" msgstr "" #: ../Doc/library/difflib.rst:575 msgid "This example compares two strings, considering blanks to be \"junk\":" msgstr "" #: ../Doc/library/difflib.rst:581 msgid "" ":meth:`ratio` returns a float in [0, 1], measuring the similarity of the " "sequences. As a rule of thumb, a :meth:`ratio` value over 0.6 means the " "sequences are close matches:" msgstr "" #: ../Doc/library/difflib.rst:588 msgid "" "If you're only interested in where the sequences match, " ":meth:`get_matching_blocks` is handy:" msgstr "" #: ../Doc/library/difflib.rst:597 msgid "" "Note that the last tuple returned by :meth:`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 "" #: ../Doc/library/difflib.rst:601 msgid "" "If you want to know how to change the first sequence into the second, use" " :meth:`get_opcodes`:" msgstr "" #: ../Doc/library/difflib.rst:612 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 "" #: ../Doc/library/difflib.rst:616 msgid "" "`Simple version control recipe " "`_ for a small application " "built with :class:`SequenceMatcher`." msgstr "" #: ../Doc/library/difflib.rst:624 msgid "Differ Objects" msgstr "" #: ../Doc/library/difflib.rst:626 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 "" #: ../Doc/library/difflib.rst:632 msgid "The :class:`Differ` class has this constructor:" msgstr "" #: ../Doc/library/difflib.rst:637 msgid "" "Optional keyword parameters *linejunk* and *charjunk* are for filter " "functions (or ``None``):" msgstr "" #: ../Doc/library/difflib.rst:640 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 "" #: ../Doc/library/difflib.rst:644 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 "" #: ../Doc/library/difflib.rst:648 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 "" #: ../Doc/library/difflib.rst:654 msgid ":class:`Differ` objects are used (deltas generated) via a single method:" msgstr "" #: ../Doc/library/difflib.rst:659 msgid "" "Compare two sequences of lines, and generate the delta (a sequence of " "lines)." msgstr "" #: ../Doc/library/difflib.rst:661 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 "" #: ../Doc/library/difflib.rst:672 msgid "Differ Example" msgstr "" #: ../Doc/library/difflib.rst:674 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.BaseIO.readlines` method of file-" "like objects):" msgstr "" #: ../Doc/library/difflib.rst:693 msgid "Next we instantiate a Differ object:" msgstr "" #: ../Doc/library/difflib.rst:697 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 "" #: ../Doc/library/difflib.rst:701 msgid "Finally, we compare the two:" msgstr "" #: ../Doc/library/difflib.rst:705 msgid "``result`` is a list of strings, so let's pretty-print it:" msgstr "" #: ../Doc/library/difflib.rst:720 msgid "As a single multi-line string it looks like this:" msgstr "" #: ../Doc/library/difflib.rst:739 msgid "A command-line interface to difflib" msgstr "" #: ../Doc/library/difflib.rst:741 msgid "" "This example shows how to use difflib to create a ``diff``-like utility. " "It is also contained in the Python source distribution, as " ":file:`Tools/scripts/diff.py`." msgstr ""