o 0i @ s d Z ddlZddlZddlZddlZddlZddlZddlZg dZddddddZ dddddd Z d d Zdd Zdd Z dd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zd d! Zed"Zed#Zd$d% Zd&d' Zd(d) Zd*d+ Zejeed,dB Z dS )-zFilename globbing utility. N)globiglobescapeFroot_dirdir_fd recursivec C s t t| |||dS )ay Return a list of paths matching a pathname pattern. The pattern may contain simple shell-style wildcards a la fnmatch. However, unlike fnmatch, filenames starting with a dot are special cases that are not matched by '*' and '?' patterns. If recursive is true, the pattern '**' will match any files and zero or more directories and subdirectories. r )listr )pathnamer r r r +/opt/alt/python310/lib64/python3.10/glob.pyr s r c C s t d| | t d| ||| |durt|}n| dd }t| |||d}| r4|rRt| dd rRzt|}|rEt|f|}W |S W |S t yQ Y |S w |S )a Return an iterator which yields the paths matching a pathname pattern. The pattern may contain simple shell-style wildcards a la fnmatch. However, unlike fnmatch, filenames starting with a dot are special cases that are not matched by '*' and '?' patterns. If recursive is true, the pattern '**' will match any files and zero or more directories and subdirectories. z glob.globzglob.glob/2Nr F ) sysauditosfspath_iglob_isrecursivenext itertoolschain StopIteration)r r r r itsr r r r s&