mirror of
				https://github.com/python/cpython.git
				synced 2025-11-03 19:34:08 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			45 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
\section{\module{dircache} ---
 | 
						|
         Cached directory listings}
 | 
						|
 | 
						|
\declaremodule{standard}{dircache}
 | 
						|
\sectionauthor{Moshe Zadka}{moshez@zadka.site.co.il}
 | 
						|
\modulesynopsis{Return directory listing, with cache mechanism.}
 | 
						|
 | 
						|
The \module{dircache} module defines a function for reading directory listing
 | 
						|
using a cache, and cache invalidation using the \var{mtime} of the directory.
 | 
						|
Additionally, it defines a function to annotate directories by appending
 | 
						|
a slash.
 | 
						|
 | 
						|
The \module{dircache} module defines the following functions:
 | 
						|
 | 
						|
\begin{funcdesc}{listdir}{path}
 | 
						|
Return a directory listing of \var{path}, as gotten from
 | 
						|
\function{os.listdir()}. Note that unless \var{path} changes, further call
 | 
						|
to \function{listdir()} will not re-read the directory structure.
 | 
						|
 | 
						|
Note that the list returned should be regarded as read-only. (Perhaps
 | 
						|
a future version should change it to return a tuple?)
 | 
						|
\end{funcdesc}
 | 
						|
 | 
						|
\begin{funcdesc}{opendir}{path}
 | 
						|
Same as \function{listdir()}. Defined for backwards compatibility.
 | 
						|
\end{funcdesc}
 | 
						|
 | 
						|
\begin{funcdesc}{annotate}{head, list}
 | 
						|
Assume \var{list} is a list of paths relative to \var{head}, and append,
 | 
						|
in place, a \character{/} to each path which points to a directory.
 | 
						|
\end{funcdesc}
 | 
						|
 | 
						|
\begin{verbatim}
 | 
						|
>>> import dircache
 | 
						|
>>> a=dircache.listdir('/')
 | 
						|
>>> a=a[:] # Copy the return value so we can change 'a'
 | 
						|
>>> a
 | 
						|
['bin', 'boot', 'cdrom', 'dev', 'etc', 'floppy', 'home', 'initrd', 'lib', 'lost+
 | 
						|
found', 'mnt', 'proc', 'root', 'sbin', 'tmp', 'usr', 'var', 'vmlinuz']
 | 
						|
>>> dircache.annotate('/', a)
 | 
						|
>>> a
 | 
						|
['bin/', 'boot/', 'cdrom/', 'dev/', 'etc/', 'floppy/', 'home/', 'initrd/', 'lib/
 | 
						|
', 'lost+found/', 'mnt/', 'proc/', 'root/', 'sbin/', 'tmp/', 'usr/', 'var/', 'vm
 | 
						|
linuz']
 | 
						|
\end{verbatim}
 |