관리-도구
편집 파일: compileall.cpython-310.opt-1.pyc
o 6��fO � @ s� d Z ddlZddlZddlZddlZddlZddlZddlm Z ddl mZ g d�Zddd�Z dddddd�dd �Z dddddd�dd�Z ddd�Zdd� Zedkrhee� �Ze�e� dS dS )a� Module/script to byte-compile all .py files to .pyc files. When called as a script with arguments, this compiles the directories given as arguments recursively; the -l option prevents it from recursing into directories. Without arguments, if compiles all modules on sys.path, without recursing into subdirectories. (Even though it should do so for packages -- for now, you'll have to deal with packages separately.) See module py_compile for details of the actual byte-compilation. � N)�partial)�Path)�compile_dir�compile_file�compile_pathc c s� � |dk rt | tj�rt�| �} |std�| �� zt�| �}W n ty6 |dk r2td�| �� g }Y nw |�� |D ]>}|dkrDq=tj � | |�}tj �|�sU|V q=|dkr{|tjkr{|tj kr{tj �|�r{tj �|�s{t||d |d�E d H q=d S )N� zListing {!r}...zCan't list {!r}�__pycache__r � )� maxlevels�quiet)� isinstance�os�PathLike�fspath�print�format�listdir�OSError�sort�path�join�isdir�curdir�pardir�islink� _walk_dir)�dirr r �names�name�fullname� r �1/opt/alt/python310/lib64/python3.10/compileall.pyr s: � � � � ���r F���r ��stripdir� prependdir� limit_sl_dest�hardlink_dupesc C sZ d}|dur| dus|durt d��|dur| } |}d}|dk r$t d��|dkrEddlm} z|� W n ty> d}Y nw ddlm} |du rMt�� }t| ||d�}d }|dkr�|dur�|pad}||d ��#}|� t t||||||| | ||| d�|�}t|d d�}W d � |S 1 s�w Y |S |D ]}t|||||||| | ||| d �s�d}q�|S )a� Byte-compile all modules in the given directory tree. Arguments (only dir is required): dir: the directory to byte-compile maxlevels: maximum recursion level (default `sys.getrecursionlimit()`) ddir: the directory that will be prepended to the path to the file as it is compiled into each byte-code file. force: if True, force compilation, even if timestamps are up-to-date quiet: full output with False or 0, errors only with 1, no output with 2 legacy: if True, produce legacy pyc paths instead of PEP 3147 paths optimize: int or list of optimization levels or -1 for level of the interpreter. Multiple levels leads to multiple compiled files each with one optimization level. workers: maximum number of parallel workers invalidation_mode: how the up-to-dateness of the pyc will be checked stripdir: part of path to left-strip from source file path prependdir: path to prepend to beginning of original file path, applied after stripdir limit_sl_dest: ignore symlinks if they are pointing outside of the defined path hardlink_dupes: hardlink duplicated pyc files N�PDestination dir (ddir) cannot be used in combination with stripdir or prependdirr z%workers must be greater or equal to 0r )�_check_system_limits)�ProcessPoolExecutor)r r T)Zmax_workers)�ddir�force�rxr �legacy�optimize�invalidation_moder$ r% r&