python (3.12.0)
ˑeiG d Z ddlmZ ddlmZ ddlZddlZddlZddl Z ddl
Z ddlZddlm
Z
ddlZg dZ edd Zd e_ d
ZddZddZedd
ZddZej- ej. j0 e ddlZddlmZ ddZej- ee d ZddZd Zd Z d Z!d Z"da#d Z$y# e$ r Y w xY w)zUtilities to support packages. )
namedtuple)singledispatchN)
ModuleType)
get_importeriter_importers
get_loaderfind_loader
walk_packagesiter_modulesget_data read_codeextend_path
ModuleInfor zmodule_finder name ispkgz.A namedtuple with minimal info about a module.c dd l }| j d }|t j j k7 ry | j d |j | S )Nr )marshalread importlibutilMAGIC_NUMBERload)streamr magics ;/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/pkgutil.pyr
r
sC KKNE +++
KKO<< c # K i fd}t | | D ] }| |j s t |j t t
j |j dd xs g } | D cg c]
} || r| } }t | |j dz | E d{ yc c}w 7 # t $ r | ||j Y t $ r | ||j n Y w xY ww)a Yields ModuleInfo for all modules recursively
on path, or, if path is None, all accessible modules.
'path' should be either None or a list of paths to look for
modules in.
'prefix' is a string to output on the front of every module name
on output.
Note that this function must import all *packages* (NOT all
modules!) on the given path, in order to access the __path__
attribute to find submodules.
'onerror' is a function which gets called with one argument (the
name of the package which was being imported) if any exception
occurs while trying to import a package. If no onerror function is
supplied, ImportErrors are caught and ignored, while all other
exceptions are propagated, terminating the search.
Examples:
# list all modules python can access
walk_packages()
# list all submodules of ctypes
walk_packages(ctypes.__path__, ctypes.__name__+'.')
c | |v ryd|| <