Your IP : 3.135.247.237
�
�Q�fiG � � � d Z ddlmZ ddlmZ ddlZddlZddlZddl Z ddl
Z ddlZddlm
Z
ddlZg d�Z edd� Zd e_ d
� Zdd�Zdd�Zedd
�� Zdd�Zej- ej. j0 e� ddlZddlmZ dd�Zej- ee� d� Zdd�Zd� Zd� Z d� Z!d� Z"da#d� Z$y# e$ r Y � w xY w)zUtilities to support packages.� )�
namedtuple)�singledispatchN)�
ModuleType)
�get_importer�iter_importers�
get_loader�find_loader�
walk_packages�iter_modules�get_data� read_code�extend_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 � � )�marshal�read� importlib�util�MAGIC_NUMBER�load)�streamr �magics �./opt/alt/python312/lib64/python3.12/pkgutil.pyr
r
sC � � ��K�K��N�E�� ���+�+�+��
�K�K��O��<�<���� 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 w�w)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|| <