| 
									
										
										
										
											1999-06-14 19:47:47 +00:00
										 |  |  | \section{\module{linecache} --- | 
					
						
							| 
									
										
										
										
											1999-06-17 16:38:18 +00:00
										 |  |  |          Random access to text lines} | 
					
						
							| 
									
										
										
										
											1999-06-14 19:47:47 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | \declaremodule{standard}{linecache} | 
					
						
							| 
									
										
										
										
											2000-12-01 15:25:23 +00:00
										 |  |  | \sectionauthor{Moshe Zadka}{moshez@zadka.site.co.il} | 
					
						
							| 
									
										
										
										
											1999-06-17 16:38:18 +00:00
										 |  |  | \modulesynopsis{This module provides random access to individual lines | 
					
						
							|  |  |  |                 from text files.} | 
					
						
							| 
									
										
										
										
											1999-06-14 19:47:47 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | The \module{linecache} module allows one to get any line from any file, | 
					
						
							|  |  |  | while attempting to optimize internally, using a cache, the common case | 
					
						
							| 
									
										
										
										
											1999-06-17 16:38:18 +00:00
										 |  |  | where many lines are read from a single file.  This is used by the | 
					
						
							|  |  |  | \refmodule{traceback} module to retrieve source lines for inclusion in  | 
					
						
							|  |  |  | the formatted traceback. | 
					
						
							| 
									
										
										
										
											1999-06-14 19:47:47 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | The \module{linecache} module defines the following functions: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | \begin{funcdesc}{getline}{filename, lineno} | 
					
						
							|  |  |  | Get line \var{lineno} from file named \var{filename}. This function | 
					
						
							| 
									
										
										
										
											2000-04-03 20:13:55 +00:00
										 |  |  | will never throw an exception --- it will return \code{''} on errors | 
					
						
							|  |  |  | (the terminating newline character will be included for lines that are | 
					
						
							|  |  |  | found). | 
					
						
							| 
									
										
										
										
											1999-06-14 19:47:47 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | If a file named \var{filename} is not found, the function will look | 
					
						
							| 
									
										
										
										
											1999-06-17 16:38:18 +00:00
										 |  |  | for it in the module\indexiii{module}{search}{path} search path, | 
					
						
							|  |  |  | \code{sys.path}. | 
					
						
							| 
									
										
										
										
											1999-06-14 19:47:47 +00:00
										 |  |  | \end{funcdesc} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | \begin{funcdesc}{clearcache}{} | 
					
						
							| 
									
										
										
										
											2000-04-03 20:13:55 +00:00
										 |  |  | Clear the cache.  Use this function if you no longer need lines from | 
					
						
							|  |  |  | files previously read using \function{getline()}. | 
					
						
							| 
									
										
										
										
											1999-06-14 19:47:47 +00:00
										 |  |  | \end{funcdesc} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-10-26 09:16:42 +00:00
										 |  |  | \begin{funcdesc}{checkcache}{\optional{filename}} | 
					
						
							| 
									
										
										
										
											1999-06-17 16:38:18 +00:00
										 |  |  | Check the cache for validity.  Use this function if files in the cache  | 
					
						
							| 
									
										
										
										
											2004-10-26 09:16:42 +00:00
										 |  |  | may have changed on disk, and you require the updated version.  If | 
					
						
							|  |  |  | \var{filename} is omitted, it will check the whole cache entries. | 
					
						
							| 
									
										
										
										
											1999-06-14 19:47:47 +00:00
										 |  |  | \end{funcdesc} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Example: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | \begin{verbatim} | 
					
						
							|  |  |  | >>> import linecache | 
					
						
							|  |  |  | >>> linecache.getline('/etc/passwd', 4) | 
					
						
							| 
									
										
										
										
											2001-01-24 17:19:08 +00:00
										 |  |  | 'sys:x:3:3:sys:/dev:/bin/sh\n' | 
					
						
							| 
									
										
										
										
											1999-06-14 19:47:47 +00:00
										 |  |  | \end{verbatim} |