mirror of
				https://github.com/python/cpython.git
				synced 2025-11-04 07:31:38 +00:00 
			
		
		
		
	
		
			
	
	
		
			36 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
		
		
			
		
	
	
			36 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
| 
								 | 
							
								\section{Standard Module \sectcode{glob}}
							 | 
						||
| 
								 | 
							
								\stmodindex{glob}
							 | 
						||
| 
								 | 
							
								\renewcommand{\indexsubitem}{(in module glob)}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The \code{glob} module finds all the pathnames matching a specified
							 | 
						||
| 
								 | 
							
								pattern according to the rules used by the \UNIX{} shell.  No tilde
							 | 
						||
| 
								 | 
							
								expansion is done, but \verb\*\, \verb\?\, and character ranges
							 | 
						||
| 
								 | 
							
								expressed with \verb\[]\ will be correctly matched.  This is done by
							 | 
						||
| 
								 | 
							
								using the \code{os.listdir()} and \code{fnmatch.fnmatch()} functions
							 | 
						||
| 
								 | 
							
								in concert, and not by actually invoking a subshell.  (For tilde and
							 | 
						||
| 
								 | 
							
								shell variable expansion, use \code{os.path.expanduser(}) and
							 | 
						||
| 
								 | 
							
								\code{os.path.expandvars()}.)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								\begin{funcdesc}{glob}{pathname}
							 | 
						||
| 
								 | 
							
								Returns a possibly-empty list of path names that match \var{pathname},
							 | 
						||
| 
								 | 
							
								which must be a string containing a path specification.
							 | 
						||
| 
								 | 
							
								\var{pathname} can be either absolute (like
							 | 
						||
| 
								 | 
							
								\file{/usr/src/Python1.4/Makefile}) or relative (like
							 | 
						||
| 
								 | 
							
								\file{../../Tools/*.gif}), and can contain shell-style wildcards.
							 | 
						||
| 
								 | 
							
								\end{funcdesc}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								For example, consider a directory containing only the following files:
							 | 
						||
| 
								 | 
							
								\file{1.gif}, \file{2.txt}, and \file{card.gif}.  \code{glob.glob()}
							 | 
						||
| 
								 | 
							
								will produce the following results.  Notice how any leading components
							 | 
						||
| 
								 | 
							
								of the path are preserved.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								\begin{verbatim}
							 | 
						||
| 
								 | 
							
								>>> import glob
							 | 
						||
| 
								 | 
							
								>>> glob.glob('./[0-9].*')
							 | 
						||
| 
								 | 
							
								['./1.gif', './2.txt']
							 | 
						||
| 
								 | 
							
								>>> glob.glob('*.gif')
							 | 
						||
| 
								 | 
							
								['1.gif', 'card.gif']
							 | 
						||
| 
								 | 
							
								>>> glob.glob('?.gif')
							 | 
						||
| 
								 | 
							
								['1.gif']
							 | 
						||
| 
								 | 
							
								\end{verbatim}
							 |