8.2.34 | Linux | www-data (uid:33)
πŸ‘ View: bz2.py
πŸ“ /snap/core20/current/lib/python3.8/bz2.py
"""Interface to the libbzip2 compression library. This module provides a file interface, classes for incremental (de)compression, and functions for one-shot (de)compression. """ __all__ = ["BZ2File", "BZ2Compressor", "BZ2Decompressor", "open", "compress", "decompress"] __author__ = "Nadeem Vawda <nadeem.vawda@gmail.com>" from builtins import open as _builtin_open import io import os import warnings import _compression from threading import RLock from _bz2 import BZ2Compressor, BZ2Decompressor _MODE_CLOSED = 0 _MODE_READ = 1 # Value 2 no longer used _MODE_WRITE = 3 _sentinel = object() class BZ2File(_compression.BaseStream): """A file object providing transparent bzip2 (de)compression. A BZ2File can act as a wrapper for an existing file object, or refer directly to a named file on disk. Note that BZ2File provides a *binary* file interface - data read is returned as bytes, and data to be written should be given as bytes. """ def __init__(self, filename, mode="r", buffering=_sentinel, compresslevel=9): """Open a bzip2-compressed file. If filename is a str, bytes, or PathLike object, it gives the name of the file to be opened. Otherwise, it should be a file object, which will be used to read or write the compressed data. mode can be 'r' for reading (default), 'w' for (over)writing, 'x' for creating exclusively, or 'a' for appending. These can equivalently be given as 'rb', 'wb', 'xb', and 'ab'. buffering is ignored since Python 3.0. Its use is deprecated. If mode is 'w', 'x' or 'a', compresslevel can be a number between 1 and 9 specifying the level of compression: 1 produces the least compression, and 9 (default) produces the most compression. If mode is 'r', the input file may be the concatenation of multiple compressed streams. """ # This lock must be recursive, so that BufferedIOBase's # writelines() does not deadlock. self._lock = RLock() self._fp = None self._closefp = False self._mode = _MODE_CLOSED if buffering is not _sentinel: warnings.warn("Use of 'buffering' argument is deprecated and ignored " "since Python 3.0.", DeprecationWarning, stacklevel=2) if not (1 <= compresslevel <= 9): raise ValueError("compresslevel must be between 1 and 9") if mode in ("", "r", "rb"): mode = "rb" mode_code = _MODE_READ elif mode in ("w", "wb"): mode = "wb" mode_code = _MODE_WRITE self._compressor = BZ2Compressor(compresslevel) elif mode in ("x", "xb"): mode = "xb" mode_code = _MODE_WRITE self._compressor = BZ2Compressor(compresslevel) elif mode in ("a", "ab"): mode = "ab" mode_code = _MODE_WRITE self._compressor = BZ2Compressor(compresslevel) else: raise ValueError("Invalid mode: %r" % (mode,)) if isinstance(filename, (str, bytes, os.PathLike)): self._fp = _builtin_open(filename, mode) self._closefp = True self._mode = mode_code elif hasattr(filename, "read") or hasattr(filename, "write"): self._fp = filename self._mode = mode_code else: raise TypeError("filename must be a str, bytes, file or PathLike object") if self._mode == _MODE_READ: raw = _compression.DecompressReader(self._fp, BZ2Decompressor, trailing_error=OSError) self._buffer = io.BufferedReader(raw) else: self._pos = 0 def close(self): """Flush and close the file. May be called more than once without error. Once the file is closed, any other operation on it will raise a ValueError. """ with self._lock: if self._mode == _MODE_CLOSED: return try: if self._mode == _MODE_READ: self._buffer.close() elif self._mode == _MODE_WRITE: self._fp.write(self._compressor.flush()) self._compressor = None finally: try: if self._closefp: self._fp.close() finally: self._fp = None self._closefp = False self._mode = _MODE_CLOSED self._buffer = None @property def closed(self): """True if this file is closed.""" return self._mode == _MODE_CLOSED def fileno(self): """Return the file descriptor for the underlying file.""" self._check_not_closed() return self._fp.fileno() def seekable(self): """Return whether the file supports seeking.""" return self.readable() and self._buffer.seekable() def readable(self): """Return whether the file was opened for reading.""" self._check_not_closed() return self._mode == _MODE_READ def writable(self): """Return whether the file was opened for writing.""" self._check_not_closed() return self._mode == _MODE_WRITE def peek(self, n=0): """Return buffered data without advancing the file position. Always returns at least one byte of data, unless at EOF. The exact number of bytes returned is unspecified. """ with self._lock: self._check_can_read() # Relies on the undocumented fact that BufferedReader.peek() # always returns at least one byte (except at EOF), independent # of the value of n return self._buffer.peek(n) def read(self, size=-1): """Read up to size uncompressed bytes from the file. If size is negative or omitted, read until EOF is reached. Returns b'' if the file is already at EOF. """ with self._lock: self._check_can_read() return self._buffer.read(size) def read1(self, size=-1): """Read up to size uncompressed bytes, while trying to avoid making multiple reads from the underlying stream. Reads up to a buffer's worth of data if size is negative. Returns b'' if the file is at EOF. """ with self._lock: self._check_can_read() if size < 0: size = io.DEFAULT_BUFFER_SIZE return self._buffer.read1(size) def readinto(self, b): """Read bytes into b. Returns the number of bytes read (0 for EOF). """ with self._lock: self._check_can_read() return self._buffer.readinto(b) def readline(self, size=-1): """Read a line of uncompressed bytes from the file. The terminating newline (if present) is retained. If size is non-negative, no more than size bytes will be read (in which case the line may be incomplete). Returns b'' if already at EOF. """ if not isinstance(size, int): if not hasattr(size, "__index__"): raise TypeError("Integer argument expected") size = size.__index__() with self._lock: self._check_can_read() return self._buffer.readline(size) def readlines(self, size=-1): """Read a list of lines of uncompressed bytes from the file. size can be specified to control the number of lines read: no further lines will be read once the total size of the lines read so far equals or exceeds size. """ if not isinstance(size, int): if not hasattr(size, "__index__"): raise TypeError("Integer argument expected") size = size.__index__() with self._lock: self._check_can_read() return self._buffer.readlines(size) def write(self, data): """Write a byte string to the file. Returns the number of uncompressed bytes written, which is always len(data). Note that due to buffering, the file on disk may not reflect the data written until close() is called. """ with self._lock: self._check_can_write() compressed = self._compressor.compress(data) self._fp.write(compressed) self._pos += len(data) return len(data) def writelines(self, seq): """Write a sequence of byte strings to the file. Returns the number of uncompressed bytes written. seq can be any iterable yielding byte strings. Line separators are not added between the written byte strings. """ with self._lock: return _compression.BaseStream.writelines(self, seq) def seek(self, offset, whence=io.SEEK_SET): """Change the file position. The new position is specified by offset, relative to the position indicated by whence. Values for whence are: 0: start of stream (default); offset must not be negative 1: current stream position 2: end of stream; offset must not be positive Returns the new file position. Note that seeking is emulated, so depending on the parameters, this operation may be extremely slow. """ with self._lock: self._check_can_seek() return self._buffer.seek(offset, whence) def tell(self): """Return the current file position.""" with self._lock: self._check_not_closed() if self._mode == _MODE_READ: return self._buffer.tell() return self._pos def open(filename, mode="rb", compresslevel=9, encoding=None, errors=None, newline=None): """Open a bzip2-compressed file in binary or text mode. The filename argument can be an actual filename (a str, bytes, or PathLike object), or an existing file object to read from or write to. The mode argument can be "r", "rb", "w", "wb", "x", "xb", "a" or "ab" for binary mode, or "rt", "wt", "xt" or "at" for text mode. The default mode is "rb", and the default compresslevel is 9. For binary mode, this function is equivalent to the BZ2File constructor: BZ2File(filename, mode, compresslevel). In this case, the encoding, errors and newline arguments must not be provided. For text mode, a BZ2File object is created, and wrapped in an io.TextIOWrapper instance with the specified encoding, error handling behavior, and line ending(s). """ if "t" in mode: if "b" in mode: raise ValueError("Invalid mode: %r" % (mode,)) else: if encoding is not None: raise ValueError("Argument 'encoding' not supported in binary mode") if errors is not None: raise ValueError("Argument 'errors' not supported in binary mode") if newline is not None: raise ValueError("Argument 'newline' not supported in binary mode") bz_mode = mode.replace("t", "") binary_file = BZ2File(filename, bz_mode, compresslevel=compresslevel) if "t" in mode: return io.TextIOWrapper(binary_file, encoding, errors, newline) else: return binary_file def compress(data, compresslevel=9): """Compress a block of data. compresslevel, if given, must be a number between 1 and 9. For incremental compression, use a BZ2Compressor object instead. """ comp = BZ2Compressor(compresslevel) return comp.compress(data) + comp.flush() def decompress(data): """Decompress a block of data. For incremental decompression, use a BZ2Decompressor object instead. """ results = [] while data: decomp = BZ2Decompressor() try: res = decomp.decompress(data) except OSError: if results: break # Leftover data is not a valid bzip2 stream; ignore it. else: raise # Error on the first iteration; bail out. results.append(res) if not decomp.eof: raise ValueError("Compressed data ended before the " "end-of-stream marker was reached") data = decomp.unused_data return b"".join(results)
← Back
πŸ’» Terminal
πŸ“€ Upload
πŸ“‚
Click or Drag & Drop
πŸ“ /snap/core20/current/lib/python3.8
NameSizePermModifiedActions
πŸ“ __pycache__/-07552026-09-01 05:21πŸ—‘ Delete
πŸ“ asyncio/-07552026-09-01 05:21πŸ—‘ Delete
πŸ“ collections/-07552026-09-01 05:21πŸ—‘ Delete
πŸ“ concurrent/-07552026-09-01 05:21πŸ—‘ Delete
πŸ“ ctypes/-07552026-09-01 05:21πŸ—‘ Delete
πŸ“ curses/-07552026-09-01 05:21πŸ—‘ Delete
πŸ“ dbm/-07552026-09-01 05:21πŸ—‘ Delete
πŸ“ distutils/-07552026-09-01 05:21πŸ—‘ Delete
πŸ“ email/-07552026-09-01 05:21πŸ—‘ Delete
πŸ“ encodings/-07552026-09-01 05:21πŸ—‘ Delete
πŸ“ html/-07552026-09-01 05:21πŸ—‘ Delete
πŸ“ http/-07552026-09-01 05:21πŸ—‘ Delete
πŸ“ importlib/-07552026-09-01 05:21πŸ—‘ Delete
πŸ“ json/-07552026-09-01 05:21πŸ—‘ Delete
πŸ“ lib-dynload/-07552026-09-01 05:21πŸ—‘ Delete
πŸ“ lib2to3/-07552026-09-01 05:21πŸ—‘ Delete
πŸ“ logging/-07552026-09-01 05:21πŸ—‘ Delete
πŸ“ multiprocessing/-07552026-09-01 05:21πŸ—‘ Delete
πŸ“ pydoc_data/-07552026-09-01 05:21πŸ—‘ Delete
πŸ“ sqlite3/-07552026-09-01 05:21πŸ—‘ Delete
πŸ“ test/-07552026-09-01 05:21πŸ—‘ Delete
πŸ“ unittest/-07552026-09-01 05:21πŸ—‘ Delete
πŸ“ urllib/-07552026-09-01 05:21πŸ—‘ Delete
πŸ“ venv/-07552026-09-01 05:21πŸ—‘ Delete
πŸ“ wsgiref/-07552026-09-01 05:21πŸ—‘ Delete
πŸ“ xml/-07552026-09-01 05:21πŸ—‘ Delete
πŸ“ xmlrpc/-07552026-09-01 05:21πŸ—‘ Delete
LICENSE.txt13.6K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
__future__.py5K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
__phello__.foo.py64B06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
_bootlocale.py1.8K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
_collections_abc.py25.5K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
_compat_pickle.py8.5K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
_compression.py5.2K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
_dummy_thread.py5.9K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
_markupbase.py14.3K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
_osx_support.py21.3K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
_py_abc.py6K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
_pydecimal.py223.3K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
_pyio.py91K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
_sitebuiltins.py3K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
_strptime.py24.7K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
_sysconfigdata__linux_x86_64-linux-gnu.py25.2K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
_sysconfigdata__x86_64-linux-gnu.py25.2K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
_threading_local.py7.1K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
_weakrefset.py5.6K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
abc.py4.4K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
aifc.py32K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
antigravity.py477B06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
argparse.py94.1K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
ast.py18.8K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
asynchat.py11.1K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
asyncore.py19.6K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
base64.py19.9K07552026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
bdb.py31.3K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
binhex.py13.6K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
bisect.py2.2K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
bz2.py12.3K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
cProfile.py6.8K07552026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
calendar.py24.3K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
cgi.py33.1K07552026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
cgitb.py11.8K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
chunk.py5.3K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
cmd.py14.5K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
code.py10.4K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
codecs.py35.8K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
codeop.py6.2K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
colorsys.py4K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
compileall.py13.4K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
configparser.py53.1K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
contextlib.py24.4K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
contextvars.py129B06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
copy.py8.5K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
copyreg.py7K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
crypt.py3.5K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
csv.py15.8K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
dataclasses.py48.8K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
datetime.py86.2K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
decimal.py320B06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
difflib.py82.1K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
dis.py20.1K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
doctest.py102.1K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
dummy_threading.py2.7K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
enum.py37.2K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
filecmp.py9.6K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
fileinput.py14.4K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
fnmatch.py4K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
formatter.py14.8K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
fractions.py23.8K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
ftplib.py34.3K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
functools.py36.5K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
genericpath.py4.9K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
getopt.py7.3K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
getpass.py5.9K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
gettext.py26.9K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
glob.py5.6K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
gzip.py20.9K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
hashlib.py9.5K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
heapq.py22.3K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
hmac.py6.5K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
imaplib.py52.3K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
imghdr.py3.7K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
imp.py10.3K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
inspect.py115.8K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
io.py3.5K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
ipaddress.py74.5K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
keyword.py945B06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
linecache.py5.2K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
locale.py76.4K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
lzma.py12.7K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
mailbox.py76.8K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
mailcap.py8.9K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
mimetypes.py21.2K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
modulefinder.py23.9K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
netrc.py5.4K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
nntplib.py42.2K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
ntpath.py25.2K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
nturl2path.py2.8K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
numbers.py10K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
opcode.py5.7K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
operator.py10.5K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
optparse.py59K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
os.py38.1K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
pathlib.py51.4K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
pdb.py61.3K07552026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
pickle.py63K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
pickletools.py91.3K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
pipes.py8.7K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
pkgutil.py21K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
platform.py39.5K07552026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
plistlib.py31.7K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
poplib.py14.7K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
posixpath.py15.1K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
pprint.py21K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
profile.py23K07552026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
pstats.py26.7K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
pty.py4.7K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
py_compile.py8K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
pyclbr.py14.9K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
pydoc.py104.4K07552026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
queue.py11.1K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
quopri.py7.1K07552026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
random.py28.1K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
re.py15.5K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
reprlib.py5.1K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
rlcompleter.py6.9K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
runpy.py11.8K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
sched.py6.3K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
secrets.py2K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
selectors.py18.1K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
shelve.py8.3K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
shlex.py13K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
shutil.py50.3K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
signal.py2.2K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
site.py21.8K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
sitecustomize.pyB01970-01-01 00:00πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
smtpd.py33.9K07552026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
smtplib.py43.8K07552026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
sndhdr.py6.9K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
socket.py34.4K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
socketserver.py26.7K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
sre_compile.py26.1K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
sre_constants.py7K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
sre_parse.py39.3K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
ssl.py51.1K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
stat.py5.4K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
statistics.py38.8K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
string.py10.3K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
stringprep.py12.6K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
struct.py257B06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
subprocess.py75.5K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
sunau.py17.9K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
symbol.py2.1K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
symtable.py7.8K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
sysconfig.py24.4K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
tabnanny.py11.1K07552026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
tarfile.py93.3K07552026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
telnetlib.py22.7K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
tempfile.py32.1K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
textwrap.py19K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
this.py1003B06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
threading.py49.6K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
timeit.py13.2K07552026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
token.py2.3K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
tokenize.py25.2K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
trace.py29.2K07552026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
traceback.py23.1K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
tracemalloc.py16.7K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
tty.py879B06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
turtle.py140.3K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
types.py9.5K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
typing.py67.3K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
uu.py6.8K07552026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
uuid.py29.8K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
warnings.py19.2K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
wave.py17.8K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
weakref.py20.9K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
webbrowser.py23.5K07552026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
xdrlib.py5.8K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
zipapp.py7.4K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
zipfile.py87K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del
zipimport.py30K06442026-03-03 11:49πŸ‘ View ✏️ Edit πŸ“ Rename πŸ“¦ Move πŸ—‘ Del