| 
									
										
										
										
											1997-03-25 22:07:53 +00:00
										 |  |  | \section{Standard Module \sectcode{glob}} | 
					
						
							| 
									
										
										
										
											1997-07-17 16:34:52 +00:00
										 |  |  | \label{module-glob} | 
					
						
							| 
									
										
										
										
											1997-03-25 22:07:53 +00:00
										 |  |  | \stmodindex{glob} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											1998-02-16 21:25:53 +00:00
										 |  |  | The \module{glob} module finds all the pathnames matching a specified | 
					
						
							| 
									
										
										
										
											1997-03-25 22:07:53 +00:00
										 |  |  | pattern according to the rules used by the \UNIX{} shell.  No tilde | 
					
						
							| 
									
										
										
										
											1997-12-29 15:55:10 +00:00
										 |  |  | expansion is done, but \code{*}, \code{?}, and character ranges | 
					
						
							|  |  |  | expressed with \code{[]} will be correctly matched.  This is done by | 
					
						
							| 
									
										
										
										
											1998-02-16 21:25:53 +00:00
										 |  |  | using the \function{os.listdir()} and \function{fnmatch.fnmatch()} | 
					
						
							|  |  |  | functions in concert, and not by actually invoking a subshell.  (For | 
					
						
							|  |  |  | tilde and shell variable expansion, use \function{os.path.expanduser()} | 
					
						
							|  |  |  | and \function{os.path.expandvars()}.) | 
					
						
							| 
									
										
										
										
											1997-03-25 22:07:53 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | \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 | 
					
						
							| 
									
										
										
										
											1998-02-16 21:25:53 +00:00
										 |  |  | \file{/usr/src/Python\version/Makefile}) or relative (like | 
					
						
							| 
									
										
										
										
											1997-03-25 22:07:53 +00:00
										 |  |  | \file{../../Tools/*.gif}), and can contain shell-style wildcards. | 
					
						
							|  |  |  | \end{funcdesc} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | For example, consider a directory containing only the following files: | 
					
						
							| 
									
										
										
										
											1998-04-03 06:14:54 +00:00
										 |  |  | \file{1.gif}, \file{2.txt}, and \file{card.gif}.  \function{glob()} | 
					
						
							| 
									
										
										
										
											1997-03-25 22:07:53 +00:00
										 |  |  | will produce the following results.  Notice how any leading components | 
					
						
							|  |  |  | of the path are preserved. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											1998-02-13 06:58:54 +00:00
										 |  |  | \begin{verbatim} | 
					
						
							| 
									
										
										
										
											1997-03-25 22:07:53 +00:00
										 |  |  | >>> import glob | 
					
						
							|  |  |  | >>> glob.glob('./[0-9].*') | 
					
						
							|  |  |  | ['./1.gif', './2.txt'] | 
					
						
							|  |  |  | >>> glob.glob('*.gif') | 
					
						
							|  |  |  | ['1.gif', 'card.gif'] | 
					
						
							|  |  |  | >>> glob.glob('?.gif') | 
					
						
							|  |  |  | ['1.gif'] | 
					
						
							| 
									
										
										
										
											1998-02-13 06:58:54 +00:00
										 |  |  | \end{verbatim} |