mirror of
https://github.com/python/cpython.git
synced 2024-11-23 18:04:37 +08:00
bpo-39481: PEP 585 for difflib, filecmp, fileinput (#19422)
This commit is contained in:
parent
7c4185d62d
commit
e3ec44d692
@ -32,6 +32,7 @@ __all__ = ['get_close_matches', 'ndiff', 'restore', 'SequenceMatcher',
|
||||
|
||||
from heapq import nlargest as _nlargest
|
||||
from collections import namedtuple as _namedtuple
|
||||
from types import GenericAlias
|
||||
|
||||
Match = _namedtuple('Match', 'a b size')
|
||||
|
||||
@ -685,6 +686,9 @@ class SequenceMatcher:
|
||||
# shorter sequence
|
||||
return _calculate_ratio(min(la, lb), la + lb)
|
||||
|
||||
__class_getitem__ = classmethod(GenericAlias)
|
||||
|
||||
|
||||
def get_close_matches(word, possibilities, n=3, cutoff=0.6):
|
||||
"""Use SequenceMatcher to return list of the best "good enough" matches.
|
||||
|
||||
|
@ -13,6 +13,7 @@ Functions:
|
||||
import os
|
||||
import stat
|
||||
from itertools import filterfalse
|
||||
from types import GenericAlias
|
||||
|
||||
__all__ = ['clear_cache', 'cmp', 'dircmp', 'cmpfiles', 'DEFAULT_IGNORES']
|
||||
|
||||
@ -247,6 +248,9 @@ class dircmp:
|
||||
self.methodmap[attr](self)
|
||||
return getattr(self, attr)
|
||||
|
||||
__class_getitem__ = classmethod(GenericAlias)
|
||||
|
||||
|
||||
def cmpfiles(a, b, common, shallow=True):
|
||||
"""Compare common files in two directories.
|
||||
|
||||
|
@ -73,6 +73,7 @@ XXX Possible additions:
|
||||
"""
|
||||
|
||||
import sys, os
|
||||
from types import GenericAlias
|
||||
|
||||
__all__ = ["input", "close", "nextfile", "filename", "lineno", "filelineno",
|
||||
"fileno", "isfirstline", "isstdin", "FileInput", "hook_compressed",
|
||||
@ -391,6 +392,8 @@ class FileInput:
|
||||
def isstdin(self):
|
||||
return self._isstdin
|
||||
|
||||
__class_getitem__ = classmethod(GenericAlias)
|
||||
|
||||
|
||||
def hook_compressed(filename, mode):
|
||||
ext = os.path.splitext(filename)[1]
|
||||
|
@ -7,6 +7,9 @@ from collections import (
|
||||
)
|
||||
from collections.abc import *
|
||||
from contextlib import AbstractContextManager, AbstractAsyncContextManager
|
||||
from difflib import SequenceMatcher
|
||||
from filecmp import dircmp
|
||||
from fileinput import FileInput
|
||||
from mmap import mmap
|
||||
from ipaddress import IPv4Network, IPv4Interface, IPv6Network, IPv6Interface
|
||||
from itertools import chain
|
||||
@ -25,6 +28,9 @@ class BaseTest(unittest.TestCase):
|
||||
for t in (type, tuple, list, dict, set, frozenset, enumerate,
|
||||
mmap,
|
||||
defaultdict, deque,
|
||||
SequenceMatcher,
|
||||
dircmp,
|
||||
FileInput,
|
||||
OrderedDict, Counter, UserDict, UserList,
|
||||
Pattern, Match,
|
||||
AbstractContextManager, AbstractAsyncContextManager,
|
||||
|
Loading…
Reference in New Issue
Block a user