Psyduck - 可達鴨 之 鴨力山大2


Server : LiteSpeed
System : Linux premium217.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User : alloknri ( 880)
PHP Version : 8.1.34
Disable Function : NONE
Directory :  /opt/alt/python37/lib64/python3.7/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //opt/alt/python37/lib64/python3.7/pprint.py
#  Author:      Fred L. Drake, Jr.
#               fdrake@acm.org
#
#  This is a simple little module I wrote to make life easier.  I didn't
#  see anything quite like it in the library, though I may have overlooked
#  something.  I wrote this when I was trying to read some heavily nested
#  tuples with fairly non-descriptive content.  This is modeled very much
#  after Lisp/Scheme - style pretty-printing of lists.  If you find it
#  useful, thank small children who sleep at night.

"""Support to pretty-print lists, tuples, & dictionaries recursively.

Very simple, but useful, especially in debugging data structures.

Classes
-------

PrettyPrinter()
    Handle pretty-printing operations onto a stream using a configured
    set of formatting parameters.

Functions
---------

pformat()
    Format a Python object into a pretty-printed representation.

pprint()
    Pretty-print a Python object to a stream [default is sys.stdout].

saferepr()
    Generate a 'standard' repr()-like value, but protect against recursive
    data structures.

"""

import collections as _collections
import re
import sys as _sys
import types as _types
from io import StringIO as _StringIO

__all__ = ["pprint","pformat","isreadable","isrecursive","saferepr",
           "PrettyPrinter"]


def pprint(object, stream=None, indent=1, width=80, depth=None, *,
           compact=False):
    """Pretty-print a Python object to a stream [default is sys.stdout]."""
    printer = PrettyPrinter(
        stream=stream, indent=indent, width=width, depth=depth,
        compact=compact)
    printer.pprint(object)

def pformat(object, indent=1, width=80, depth=None, *, compact=False):
    """Format a Python object into a pretty-printed representation."""
    return PrettyPrinter(indent=indent, width=width, depth=depth,
                         compact=compact).pformat(object)

def saferepr(object):
    """Version of repr() which can handle recursive data structures."""
    return _safe_repr(object, {}, None, 0)[0]

def isreadable(object):
    """Determine if saferepr(object) is readable by eval()."""
    return _safe_repr(object, {}, None, 0)[1]

def isrecursive(object):
    """Determine if object requires a recursive representation."""
    return _safe_repr(object, {}, None, 0)[2]

class _safe_key:
    """Helper function for key functions when sorting unorderable objects.

    The wrapped-object will fallback to a Py2.x style comparison for
    unorderable types (sorting first comparing the type name and then by
    the obj ids).  Does not work recursively, so dict.items() must have
    _safe_key applied to both the key and the value.

    """

    __slots__ = ['obj']

    def __init__(self, obj):
        self.obj = obj

    def __lt__(self, other):
        try:
            return self.obj < other.obj
        except TypeError:
            return ((str(type(self.obj)), id(self.obj)) < \
                    (str(type(other.obj)), id(other.obj)))

def _safe_tuple(t):
    "Helper function for comparing 2-tuples"
    return _safe_key(t[0]), _safe_key(t[1])

class PrettyPrinter:
    def __init__(self, indent=1, width=80, depth=None, stream=None, *,
                 compact=False):
        """Handle pretty printing operations onto a stream using a set of
        configured parameters.

        indent
            Number of spaces to indent for each level of nesting.

        width
            Attempted maximum number of columns in the output.

        depth
            The maximum depth to print out nested structures.

        stream
            The desired output stream.  If omitted (or false), the standard
            output stream available at construction will be used.

        compact
            If true, several items will be combined in one line.

        """
        indent = int(indent)
        width = int(width)
        if indent < 0:
            raise ValueError('indent must be >= 0')
        if depth is not None and depth <= 0:
            raise ValueError('depth must be > 0')
        if not width:
            raise ValueError('width must be != 0')
        self._depth = depth
        self._indent_per_level = indent
        self._width = width
        if stream is not None:
            self._stream = stream
        else:
            self._stream = _sys.stdout
        self._compact = bool(compact)

    def pprint(self, object):
        self._format(object, self._stream, 0, 0, {}, 0)
        self._stream.write("\n")

    def pformat(self, object):
        sio = _StringIO()
        self._format(object, sio, 0, 0, {}, 0)
        return sio.getvalue()

    def isrecursive(self, object):
        return self.format(object, {}, 0, 0)[2]

    def isreadable(self, object):
        s, readable, recursive = self.format(object, {}, 0, 0)
        return readable and not recursive

    def _format(self, object, stream, indent, allowance, context, level):
        objid = id(object)
        if objid in context:
            stream.write(_recursion(object))
            self._recursive = True
            self._readable = False
            return
        rep = self._repr(object, context, level)
        max_width = self._width - indent - allowance
        if len(rep) > max_width:
            p = self._dispatch.get(type(object).__repr__, None)
            if p is not None:
                context[objid] = 1
                p(self, object, stream, indent, allowance, context, level + 1)
                del context[objid]
                return
            elif isinstance(object, dict):
                context[objid] = 1
                self._pprint_dict(object, stream, indent, allowance,
                                  context, level + 1)
                del context[objid]
                return
        stream.write(rep)

    _dispatch = {}

    def _pprint_dict(self, object, stream, indent, allowance, context, level):
        write = stream.write
        write('{')
        if self._indent_per_level > 1:
            write((self._indent_per_level - 1) * ' ')
        length = len(object)
        if length:
            items = sorted(object.items(), key=_safe_tuple)
            self._format_dict_items(items, stream, indent, allowance + 1,
                                    context, level)
        write('}')

    _dispatch[dict.__repr__] = _pprint_dict

    def _pprint_ordered_dict(self, object, stream, indent, allowance, context, level):
        if not len(object):
            stream.write(repr(object))
            return
        cls = object.__class__
        stream.write(cls.__name__ + '(')
        self._format(list(object.items()), stream,
                     indent + len(cls.__name__) + 1, allowance + 1,
                     context, level)
        stream.write(')')

    _dispatch[_collections.OrderedDict.__repr__] = _pprint_ordered_dict

    def _pprint_list(self, object, stream, indent, allowance, context, level):
        stream.write('[')
        self._format_items(object, stream, indent, allowance + 1,
                           context, level)
        stream.write(']')

    _dispatch[list.__repr__] = _pprint_list

    def _pprint_tuple(self, object, stream, indent, allowance, context, level):
        stream.write('(')
        endchar = ',)' if len(object) == 1 else ')'
        self._format_items(object, stream, indent, allowance + len(endchar),
                           context, level)
        stream.write(endchar)

    _dispatch[tuple.__repr__] = _pprint_tuple

    def _pprint_set(self, object, stream, indent, allowance, context, level):
        if not len(object):
            stream.write(repr(object))
            return
        typ = object.__class__
        if typ is set:
            stream.write('{')
            endchar = '}'
        else:
            stream.write(typ.__name__ + '({')
            endchar = '})'
            indent += len(typ.__name__) + 1
        object = sorted(object, key=_safe_key)
        self._format_items(object, stream, indent, allowance + len(endchar),
                           context, level)
        stream.write(endchar)

    _dispatch[set.__repr__] = _pprint_set
    _dispatch[frozenset.__repr__] = _pprint_set

    def _pprint_str(self, object, stream, indent, allowance, context, level):
        write = stream.write
        if not len(object):
            write(repr(object))
            return
        chunks = []
        lines = object.splitlines(True)
        if level == 1:
            indent += 1
            allowance += 1
        max_width1 = max_width = self._width - indent
        for i, line in enumerate(lines):
            rep = repr(line)
            if i == len(lines) - 1:
                max_width1 -= allowance
            if len(rep) <= max_width1:
                chunks.append(rep)
            else:
                # A list of alternating (non-space, space) strings
                parts = re.findall(r'\S*\s*', line)
                assert parts
                assert not parts[-1]
                parts.pop()  # drop empty last part
                max_width2 = max_width
                current = ''
                for j, part in enumerate(parts):
                    candidate = current + part
                    if j == len(parts) - 1 and i == len(lines) - 1:
                        max_width2 -= allowance
                    if len(repr(candidate)) > max_width2:
                        if current:
                            chunks.append(repr(current))
                        current = part
                    else:
                        current = candidate
                if current:
                    chunks.append(repr(current))
        if len(chunks) == 1:
            write(rep)
            return
        if level == 1:
            write('(')
        for i, rep in enumerate(chunks):
            if i > 0:
                write('\n' + ' '*indent)
            write(rep)
        if level == 1:
            write(')')

    _dispatch[str.__repr__] = _pprint_str

    def _pprint_bytes(self, object, stream, indent, allowance, context, level):
        write = stream.write
        if len(object) <= 4:
            write(repr(object))
            return
        parens = level == 1
        if parens:
            indent += 1
            allowance += 1
            write('(')
        delim = ''
        for rep in _wrap_bytes_repr(object, self._width - indent, allowance):
            write(delim)
            write(rep)
            if not delim:
                delim = '\n' + ' '*indent
        if parens:
            write(')')

    _dispatch[bytes.__repr__] = _pprint_bytes

    def _pprint_bytearray(self, object, stream, indent, allowance, context, level):
        write = stream.write
        write('bytearray(')
        self._pprint_bytes(bytes(object), stream, indent + 10,
                           allowance + 1, context, level + 1)
        write(')')

    _dispatch[bytearray.__repr__] = _pprint_bytearray

    def _pprint_mappingproxy(self, object, stream, indent, allowance, context, level):
        stream.write('mappingproxy(')
        self._format(object.copy(), stream, indent + 13, allowance + 1,
                     context, level)
        stream.write(')')

    _dispatch[_types.MappingProxyType.__repr__] = _pprint_mappingproxy

    def _format_dict_items(self, items, stream, indent, allowance, context,
                           level):
        write = stream.write
        indent += self._indent_per_level
        delimnl = ',\n' + ' ' * indent
        last_index = len(items) - 1
        for i, (key, ent) in enumerate(items):
            last = i == last_index
            rep = self._repr(key, context, level)
            write(rep)
            write(': ')
            self._format(ent, stream, indent + len(rep) + 2,
                         allowance if last else 1,
                         context, level)
            if not last:
                write(delimnl)

    def _format_items(self, items, stream, indent, allowance, context, level):
        write = stream.write
        indent += self._indent_per_level
        if self._indent_per_level > 1:
            write((self._indent_per_level - 1) * ' ')
        delimnl = ',\n' + ' ' * indent
        delim = ''
        width = max_width = self._width - indent + 1
        it = iter(items)
        try:
            next_ent = next(it)
        except StopIteration:
            return
        last = False
        while not last:
            ent = next_ent
            try:
                next_ent = next(it)
            except StopIteration:
                last = True
                max_width -= allowance
                width -= allowance
            if self._compact:
                rep = self._repr(ent, context, level)
                w = len(rep) + 2
                if width < w:
                    width = max_width
                    if delim:
                        delim = delimnl
                if width >= w:
                    width -= w
                    write(delim)
                    delim = ', '
                    write(rep)
                    continue
            write(delim)
            delim = delimnl
            self._format(ent, stream, indent,
                         allowance if last else 1,
                         context, level)

    def _repr(self, object, context, level):
        repr, readable, recursive = self.format(object, context.copy(),
                                                self._depth, level)
        if not readable:
            self._readable = False
        if recursive:
            self._recursive = True
        return repr

    def format(self, object, context, maxlevels, level):
        """Format object for a specific context, returning a string
        and flags indicating whether the representation is 'readable'
        and whether the object represents a recursive construct.
        """
        return _safe_repr(object, context, maxlevels, level)

    def _pprint_default_dict(self, object, stream, indent, allowance, context, level):
        if not len(object):
            stream.write(repr(object))
            return
        rdf = self._repr(object.default_factory, context, level)
        cls = object.__class__
        indent += len(cls.__name__) + 1
        stream.write('%s(%s,\n%s' % (cls.__name__, rdf, ' ' * indent))
        self._pprint_dict(object, stream, indent, allowance + 1, context, level)
        stream.write(')')

    _dispatch[_collections.defaultdict.__repr__] = _pprint_default_dict

    def _pprint_counter(self, object, stream, indent, allowance, context, level):
        if not len(object):
            stream.write(repr(object))
            return
        cls = object.__class__
        stream.write(cls.__name__ + '({')
        if self._indent_per_level > 1:
            stream.write((self._indent_per_level - 1) * ' ')
        items = object.most_common()
        self._format_dict_items(items, stream,
                                indent + len(cls.__name__) + 1, allowance + 2,
                                context, level)
        stream.write('})')

    _dispatch[_collections.Counter.__repr__] = _pprint_counter

    def _pprint_chain_map(self, object, stream, indent, allowance, context, level):
        if not len(object.maps):
            stream.write(repr(object))
            return
        cls = object.__class__
        stream.write(cls.__name__ + '(')
        indent += len(cls.__name__) + 1
        for i, m in enumerate(object.maps):
            if i == len(object.maps) - 1:
                self._format(m, stream, indent, allowance + 1, context, level)
                stream.write(')')
            else:
                self._format(m, stream, indent, 1, context, level)
                stream.write(',\n' + ' ' * indent)

    _dispatch[_collections.ChainMap.__repr__] = _pprint_chain_map

    def _pprint_deque(self, object, stream, indent, allowance, context, level):
        if not len(object):
            stream.write(repr(object))
            return
        cls = object.__class__
        stream.write(cls.__name__ + '(')
        indent += len(cls.__name__) + 1
        stream.write('[')
        if object.maxlen is None:
            self._format_items(object, stream, indent, allowance + 2,
                               context, level)
            stream.write('])')
        else:
            self._format_items(object, stream, indent, 2,
                               context, level)
            rml = self._repr(object.maxlen, context, level)
            stream.write('],\n%smaxlen=%s)' % (' ' * indent, rml))

    _dispatch[_collections.deque.__repr__] = _pprint_deque

    def _pprint_user_dict(self, object, stream, indent, allowance, context, level):
        self._format(object.data, stream, indent, allowance, context, level - 1)

    _dispatch[_collections.UserDict.__repr__] = _pprint_user_dict

    def _pprint_user_list(self, object, stream, indent, allowance, context, level):
        self._format(object.data, stream, indent, allowance, context, level - 1)

    _dispatch[_collections.UserList.__repr__] = _pprint_user_list

    def _pprint_user_string(self, object, stream, indent, allowance, context, level):
        self._format(object.data, stream, indent, allowance, context, level - 1)

    _dispatch[_collections.UserString.__repr__] = _pprint_user_string

# Return triple (repr_string, isreadable, isrecursive).

def _safe_repr(object, context, maxlevels, level):
    typ = type(object)
    if typ in _builtin_scalars:
        return repr(object), True, False

    r = getattr(typ, "__repr__", None)
    if issubclass(typ, dict) and r is dict.__repr__:
        if not object:
            return "{}", True, False
        objid = id(object)
        if maxlevels and level >= maxlevels:
            return "{...}", False, objid in context
        if objid in context:
            return _recursion(object), False, True
        context[objid] = 1
        readable = True
        recursive = False
        components = []
        append = components.append
        level += 1
        saferepr = _safe_repr
        items = sorted(object.items(), key=_safe_tuple)
        for k, v in items:
            krepr, kreadable, krecur = saferepr(k, context, maxlevels, level)
            vrepr, vreadable, vrecur = saferepr(v, context, maxlevels, level)
            append("%s: %s" % (krepr, vrepr))
            readable = readable and kreadable and vreadable
            if krecur or vrecur:
                recursive = True
        del context[objid]
        return "{%s}" % ", ".join(components), readable, recursive

    if (issubclass(typ, list) and r is list.__repr__) or \
       (issubclass(typ, tuple) and r is tuple.__repr__):
        if issubclass(typ, list):
            if not object:
                return "[]", True, False
            format = "[%s]"
        elif len(object) == 1:
            format = "(%s,)"
        else:
            if not object:
                return "()", True, False
            format = "(%s)"
        objid = id(object)
        if maxlevels and level >= maxlevels:
            return format % "...", False, objid in context
        if objid in context:
            return _recursion(object), False, True
        context[objid] = 1
        readable = True
        recursive = False
        components = []
        append = components.append
        level += 1
        for o in object:
            orepr, oreadable, orecur = _safe_repr(o, context, maxlevels, level)
            append(orepr)
            if not oreadable:
                readable = False
            if orecur:
                recursive = True
        del context[objid]
        return format % ", ".join(components), readable, recursive

    rep = repr(object)
    return rep, (rep and not rep.startswith('<')), False

_builtin_scalars = frozenset({str, bytes, bytearray, int, float, complex,
                              bool, type(None)})

def _recursion(object):
    return ("<Recursion on %s with id=%s>"
            % (type(object).__name__, id(object)))


def _perfcheck(object=None):
    import time
    if object is None:
        object = [("string", (1, 2), [3, 4], {5: 6, 7: 8})] * 100000
    p = PrettyPrinter()
    t1 = time.perf_counter()
    _safe_repr(object, {}, None, 0)
    t2 = time.perf_counter()
    p.pformat(object)
    t3 = time.perf_counter()
    print("_safe_repr:", t2 - t1)
    print("pformat:", t3 - t2)

def _wrap_bytes_repr(object, width, allowance):
    current = b''
    last = len(object) // 4 * 4
    for i in range(0, len(object), 4):
        part = object[i: i+4]
        candidate = current + part
        if i == last:
            width -= allowance
        if len(repr(candidate)) > width:
            if current:
                yield repr(current)
            current = part
        else:
            current = candidate
    if current:
        yield repr(current)

if __name__ == "__main__":
    _perfcheck()
Name
Size
Permissions
Options
__pycache__
--
drwxr-xr-x
asyncio
--
drwxr-xr-x
collections
--
drwxr-xr-x
concurrent
--
drwxr-xr-x
config-3.7m
--
drwxr-xr-x
ctypes
--
drwxr-xr-x
curses
--
drwxr-xr-x
dbm
--
drwxr-xr-x
distutils
--
drwxr-xr-x
email
--
drwxr-xr-x
encodings
--
drwxr-xr-x
ensurepip
--
drwxr-xr-x
html
--
drwxr-xr-x
http
--
drwxr-xr-x
idlelib
--
drwxr-xr-x
importlib
--
drwxr-xr-x
json
--
drwxr-xr-x
lib-dynload
--
drwxr-xr-x
lib2to3
--
drwxr-xr-x
logging
--
drwxr-xr-x
multiprocessing
--
drwxr-xr-x
pydoc_data
--
drwxr-xr-x
site-packages
--
drwxr-xr-x
sqlite3
--
drwxr-xr-x
test
--
drwxr-xr-x
unittest
--
drwxr-xr-x
urllib
--
drwxr-xr-x
venv
--
drwxr-xr-x
wsgiref
--
drwxr-xr-x
xml
--
drwxr-xr-x
xmlrpc
--
drwxr-xr-x
__future__.py
4.981 KB
-rw-r--r--
__phello__.foo.py
0.063 KB
-rw-r--r--
_bootlocale.py
1.759 KB
-rw-r--r--
_collections_abc.py
25.805 KB
-rw-r--r--
_compat_pickle.py
8.544 KB
-rw-r--r--
_compression.py
5.215 KB
-rw-r--r--
_dummy_thread.py
5.886 KB
-rw-r--r--
_markupbase.py
14.256 KB
-rw-r--r--
_osx_support.py
19.141 KB
-rw-r--r--
_py_abc.py
6.041 KB
-rw-r--r--
_pydecimal.py
223.33 KB
-rw-r--r--
_pyio.py
89.469 KB
-rw-r--r--
_sitebuiltins.py
3.042 KB
-rw-r--r--
_strptime.py
24.906 KB
-rw-r--r--
_sysconfigdata_dm_linux_x86_64-linux-gnu.py
30.595 KB
-rw-r--r--
_sysconfigdata_m_linux_x86_64-linux-gnu.py
27.93 KB
-rw-r--r--
_threading_local.py
7.045 KB
-rw-r--r--
_weakrefset.py
5.546 KB
-rw-r--r--
abc.py
5.449 KB
-rw-r--r--
aifc.py
32.045 KB
-rw-r--r--
antigravity.py
0.466 KB
-rw-r--r--
argparse.py
93.137 KB
-rw-r--r--
ast.py
12.541 KB
-rw-r--r--
asynchat.py
11.063 KB
-rw-r--r--
asyncore.py
19.646 KB
-rw-r--r--
base64.py
19.915 KB
-rwxr-xr-x
bdb.py
30.986 KB
-rw-r--r--
binhex.py
13.627 KB
-rw-r--r--
bisect.py
2.497 KB
-rw-r--r--
bz2.py
12.119 KB
-rw-r--r--
cProfile.py
6.106 KB
-rwxr-xr-x
calendar.py
24.244 KB
-rw-r--r--
cgi.py
34.229 KB
-rwxr-xr-x
cgitb.py
11.736 KB
-rw-r--r--
chunk.py
5.308 KB
-rw-r--r--
cmd.py
14.512 KB
-rw-r--r--
code.py
10.373 KB
-rw-r--r--
codecs.py
35.757 KB
-rw-r--r--
codeop.py
6.128 KB
-rw-r--r--
colorsys.py
3.969 KB
-rw-r--r--
compileall.py
13.465 KB
-rw-r--r--
configparser.py
53.011 KB
-rw-r--r--
contextlib.py
24.183 KB
-rw-r--r--
contextvars.py
0.126 KB
-rw-r--r--
copy.py
8.648 KB
-rw-r--r--
copyreg.py
6.853 KB
-rw-r--r--
crypt.py
3.268 KB
-rw-r--r--
csv.py
15.801 KB
-rw-r--r--
dataclasses.py
48.359 KB
-rw-r--r--
datetime.py
84.516 KB
-rw-r--r--
decimal.py
0.313 KB
-rw-r--r--
difflib.py
82.415 KB
-rw-r--r--
dis.py
19.422 KB
-rw-r--r--
doctest.py
102.109 KB
-rw-r--r--
dummy_threading.py
2.749 KB
-rw-r--r--
enum.py
34.222 KB
-rw-r--r--
filecmp.py
9.6 KB
-rw-r--r--
fileinput.py
14.282 KB
-rw-r--r--
fnmatch.py
3.961 KB
-rw-r--r--
formatter.py
14.788 KB
-rw-r--r--
fractions.py
23.195 KB
-rw-r--r--
ftplib.py
34.783 KB
-rw-r--r--
functools.py
32.16 KB
-rw-r--r--
genericpath.py
4.797 KB
-rw-r--r--
getopt.py
7.313 KB
-rw-r--r--
getpass.py
5.854 KB
-rw-r--r--
gettext.py
21.452 KB
-rw-r--r--
glob.py
5.506 KB
-rw-r--r--
gzip.py
20.153 KB
-rw-r--r--
hashlib.py
9.311 KB
-rw-r--r--
heapq.py
22.478 KB
-rw-r--r--
hmac.py
6.364 KB
-rw-r--r--
imaplib.py
52.043 KB
-rw-r--r--
imghdr.py
3.706 KB
-rw-r--r--
imp.py
10.289 KB
-rw-r--r--
inspect.py
114.878 KB
-rw-r--r--
io.py
3.435 KB
-rw-r--r--
ipaddress.py
71.854 KB
-rw-r--r--
keyword.py
2.203 KB
-rwxr-xr-x
linecache.py
5.205 KB
-rw-r--r--
locale.py
76.358 KB
-rw-r--r--
lzma.py
12.679 KB
-rw-r--r--
macpath.py
5.979 KB
-rw-r--r--
mailbox.py
76.811 KB
-rw-r--r--
mailcap.py
8.854 KB
-rw-r--r--
mimetypes.py
20.992 KB
-rw-r--r--
modulefinder.py
22.495 KB
-rw-r--r--
netrc.py
5.436 KB
-rw-r--r--
nntplib.py
42.077 KB
-rw-r--r--
ntpath.py
21.816 KB
-rw-r--r--
nturl2path.py
2.523 KB
-rw-r--r--
numbers.py
10.004 KB
-rw-r--r--
opcode.py
5.688 KB
-rw-r--r--
operator.py
10.608 KB
-rw-r--r--
optparse.py
58.956 KB
-rw-r--r--
os.py
37.013 KB
-rw-r--r--
pathlib.py
49.149 KB
-rw-r--r--
pdb.py
61.04 KB
-rwxr-xr-x
pickle.py
56.635 KB
-rw-r--r--
pickletools.py
89.082 KB
-rw-r--r--
pipes.py
8.707 KB
-rw-r--r--
pkgutil.py
20.958 KB
-rw-r--r--
platform.py
45.893 KB
-rwxr-xr-x
plistlib.py
29.989 KB
-rw-r--r--
poplib.py
14.613 KB
-rw-r--r--
posixpath.py
15.401 KB
-rw-r--r--
pprint.py
20.395 KB
-rw-r--r--
profile.py
21.967 KB
-rwxr-xr-x
pstats.py
26.675 KB
-rw-r--r--
pty.py
4.651 KB
-rw-r--r--
py_compile.py
7.813 KB
-rw-r--r--
pyclbr.py
14.782 KB
-rw-r--r--
pydoc.py
103.395 KB
-rw-r--r--
queue.py
11.093 KB
-rw-r--r--
quopri.py
7.095 KB
-rwxr-xr-x
random.py
26.911 KB
-rw-r--r--
re.py
14.947 KB
-rw-r--r--
reprlib.py
5.144 KB
-rw-r--r--
rlcompleter.py
6.931 KB
-rw-r--r--
runpy.py
11.679 KB
-rw-r--r--
sched.py
6.291 KB
-rw-r--r--
secrets.py
1.99 KB
-rw-r--r--
selectors.py
18.126 KB
-rw-r--r--
shelve.py
8.327 KB
-rw-r--r--
shlex.py
12.793 KB
-rw-r--r--
shutil.py
40.967 KB
-rw-r--r--
signal.py
2.073 KB
-rw-r--r--
site.py
21.069 KB
-rw-r--r--
smtpd.py
33.908 KB
-rwxr-xr-x
smtplib.py
43.401 KB
-rwxr-xr-x
sndhdr.py
6.92 KB
-rw-r--r--
socket.py
26.825 KB
-rw-r--r--
socketserver.py
26.292 KB
-rw-r--r--
sre_compile.py
26.242 KB
-rw-r--r--
sre_constants.py
7.009 KB
-rw-r--r--
sre_parse.py
38.238 KB
-rw-r--r--
ssl.py
44.429 KB
-rw-r--r--
stat.py
5.265 KB
-rw-r--r--
statistics.py
20.167 KB
-rw-r--r--
string.py
11.293 KB
-rw-r--r--
stringprep.py
12.614 KB
-rw-r--r--
struct.py
0.251 KB
-rw-r--r--
subprocess.py
70.946 KB
-rw-r--r--
sunau.py
17.944 KB
-rw-r--r--
symbol.py
2.092 KB
-rwxr-xr-x
symtable.py
7.108 KB
-rw-r--r--
sysconfig.py
23.867 KB
-rw-r--r--
tabnanny.py
11.151 KB
-rwxr-xr-x
tarfile.py
90.503 KB
-rwxr-xr-x
telnetlib.py
22.593 KB
-rw-r--r--
tempfile.py
26.104 KB
-rw-r--r--
textwrap.py
18.952 KB
-rw-r--r--
this.py
0.979 KB
-rw-r--r--
threading.py
48.129 KB
-rw-r--r--
timeit.py
13.177 KB
-rwxr-xr-x
token.py
3.675 KB
-rw-r--r--
tokenize.py
26.397 KB
-rw-r--r--
trace.py
28.226 KB
-rwxr-xr-x
traceback.py
22.888 KB
-rw-r--r--
tracemalloc.py
16.676 KB
-rw-r--r--
tty.py
0.858 KB
-rw-r--r--
types.py
9.665 KB
-rw-r--r--
typing.py
55.115 KB
-rw-r--r--
uu.py
7.106 KB
-rw-r--r--
uuid.py
28.826 KB
-rw-r--r--
warnings.py
19.609 KB
-rw-r--r--
wave.py
17.803 KB
-rw-r--r--
weakref.py
21.004 KB
-rw-r--r--
webbrowser.py
23.159 KB
-rwxr-xr-x
xdrlib.py
5.774 KB
-rw-r--r--
zipapp.py
7.358 KB
-rw-r--r--
zipfile.py
79.193 KB
-rw-r--r--