| 
									
										
										
										
											1998-08-10 19:42:37 +00:00
										 |  |  | \section{\module{anydbm} --- | 
					
						
							| 
									
										
										
										
											1999-02-20 00:14:17 +00:00
										 |  |  |          Generic access to DBM-style databases} | 
					
						
							| 
									
										
										
										
											1998-07-23 17:59:49 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1999-02-20 00:14:17 +00:00
										 |  |  | \declaremodule{standard}{anydbm} | 
					
						
							| 
									
										
										
										
											1998-07-23 17:59:49 +00:00
										 |  |  | \modulesynopsis{Generic interface to DBM-style database modules.} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											1997-04-03 22:41:49 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1998-02-18 15:05:47 +00:00
										 |  |  | \module{anydbm} is a generic interface to variants of the DBM | 
					
						
							| 
									
										
										
										
											1999-04-15 15:11:40 +00:00
										 |  |  | database --- \refmodule{dbhash}\refstmodindex{dbhash} (requires | 
					
						
							| 
									
										
										
										
											1999-04-19 21:19:21 +00:00
										 |  |  | \refmodule{bsddb}\refbimodindex{bsddb}), | 
					
						
							| 
									
										
										
										
											1999-04-05 19:46:21 +00:00
										 |  |  | \refmodule{gdbm}\refbimodindex{gdbm}, or | 
					
						
							|  |  |  | \refmodule{dbm}\refbimodindex{dbm}.  If none of these modules is | 
					
						
							|  |  |  | installed, the slow-but-simple implementation in module | 
					
						
							|  |  |  | \refmodule{dumbdbm}\refstmodindex{dumbdbm} will be used. | 
					
						
							| 
									
										
										
										
											1997-11-30 05:38:44 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1998-04-07 22:08:02 +00:00
										 |  |  | \begin{funcdesc}{open}{filename\optional{, flag\optional{, mode}}} | 
					
						
							| 
									
										
										
										
											1998-02-18 15:05:47 +00:00
										 |  |  | Open the database file \var{filename} and return a corresponding object. | 
					
						
							| 
									
										
										
										
											1998-04-28 15:29:26 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1999-04-05 19:46:21 +00:00
										 |  |  | If the database file already exists, the \refmodule{whichdb} module is  | 
					
						
							| 
									
										
										
										
											1998-04-28 15:29:26 +00:00
										 |  |  | used to determine its type and the appropriate module is used; if it | 
					
						
							| 
									
										
										
										
											1999-04-05 19:46:21 +00:00
										 |  |  | does not exist, the first module listed above that can be imported is | 
					
						
							| 
									
										
										
										
											1998-04-28 15:29:26 +00:00
										 |  |  | used. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											1997-04-03 22:41:49 +00:00
										 |  |  | The optional \var{flag} argument can be | 
					
						
							|  |  |  | \code{'r'} to open an existing database for reading only, | 
					
						
							|  |  |  | \code{'w'} to open an existing database for reading and writing, | 
					
						
							|  |  |  | \code{'c'} to create the database if it doesn't exist, or | 
					
						
							|  |  |  | \code{'n'}, which will always create a new empty database.  If not | 
					
						
							|  |  |  | specified, the default value is \code{'r'}. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | The optional \var{mode} argument is the \UNIX{} mode of the file, used | 
					
						
							|  |  |  | only when the database has to be created.  It defaults to octal | 
					
						
							| 
									
										
										
										
											1997-05-09 02:23:45 +00:00
										 |  |  | \code{0666} (and will be modified by the prevailing umask). | 
					
						
							| 
									
										
										
										
											1997-04-03 22:41:49 +00:00
										 |  |  | \end{funcdesc} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											1998-04-07 22:08:02 +00:00
										 |  |  | \begin{excdesc}{error} | 
					
						
							| 
									
										
										
										
											1998-04-28 15:29:26 +00:00
										 |  |  | A tuple containing the exceptions that can be raised by each of the | 
					
						
							|  |  |  | supported modules, with a unique exception \exception{anydbm.error} as | 
					
						
							|  |  |  | the first item --- the latter is used when \exception{anydbm.error} is | 
					
						
							|  |  |  | raised. | 
					
						
							| 
									
										
										
										
											1998-04-07 22:08:02 +00:00
										 |  |  | \end{excdesc} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											1998-02-18 15:05:47 +00:00
										 |  |  | The object returned by \function{open()} supports most of the same | 
					
						
							| 
									
										
										
										
											1997-04-03 22:41:49 +00:00
										 |  |  | functionality as dictionaries; keys and their corresponding values can | 
					
						
							| 
									
										
										
										
											1998-02-18 15:05:47 +00:00
										 |  |  | be stored, retrieved, and deleted, and the \method{has_key()} and | 
					
						
							|  |  |  | \method{keys()} methods are available.  Keys and values must always be | 
					
						
							| 
									
										
										
										
											1997-05-09 02:23:45 +00:00
										 |  |  | strings. | 
					
						
							| 
									
										
										
										
											1997-04-03 22:41:49 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1998-04-07 22:08:02 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1999-04-05 19:46:21 +00:00
										 |  |  | \begin{seealso} | 
					
						
							|  |  |  |   \seemodule{anydbm}{Generic interface to \code{dbm}-style databases.} | 
					
						
							| 
									
										
										
										
											1999-04-15 15:11:40 +00:00
										 |  |  |   \seemodule{dbhash}{BSD \code{db} database interface.} | 
					
						
							| 
									
										
										
										
											1999-04-05 19:46:21 +00:00
										 |  |  |   \seemodule{dbm}{Standard \UNIX{} database interface.} | 
					
						
							|  |  |  |   \seemodule{dumbdbm}{Portable implementation of the \code{dbm} interface.} | 
					
						
							|  |  |  |   \seemodule{gdbm}{GNU database interface, based on the \code{dbm} interface.} | 
					
						
							|  |  |  |   \seemodule{shelve}{General object persistence built on top of  | 
					
						
							|  |  |  |                      the Python \code{dbm} interface.} | 
					
						
							|  |  |  |   \seemodule{whichdb}{Utility module used to determine the type of an | 
					
						
							|  |  |  |                       existing database.} | 
					
						
							|  |  |  | \end{seealso} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											1998-04-07 22:08:02 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1998-08-10 19:42:37 +00:00
										 |  |  | \section{\module{dumbdbm} --- | 
					
						
							| 
									
										
										
										
											1999-02-20 00:14:17 +00:00
										 |  |  |          Portable DBM implementation} | 
					
						
							| 
									
										
										
										
											1998-07-23 17:59:49 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1999-02-20 00:14:17 +00:00
										 |  |  | \declaremodule{standard}{dumbdbm} | 
					
						
							| 
									
										
										
										
											1998-07-27 22:12:26 +00:00
										 |  |  | \modulesynopsis{Portable implementation of the simple DBM interface.} | 
					
						
							| 
									
										
										
										
											1998-07-23 17:59:49 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1998-04-07 22:08:02 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | A simple and slow database implemented entirely in Python.  This | 
					
						
							|  |  |  | should only be used when no other DBM-style database is available. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | \begin{funcdesc}{open}{filename\optional{, flag\optional{, mode}}} | 
					
						
							|  |  |  | Open the database file \var{filename} and return a corresponding object. | 
					
						
							|  |  |  | The optional \var{flag} argument can be | 
					
						
							|  |  |  | \code{'r'} to open an existing database for reading only, | 
					
						
							|  |  |  | \code{'w'} to open an existing database for reading and writing, | 
					
						
							|  |  |  | \code{'c'} to create the database if it doesn't exist, or | 
					
						
							|  |  |  | \code{'n'}, which will always create a new empty database.  If not | 
					
						
							|  |  |  | specified, the default value is \code{'r'}. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | The optional \var{mode} argument is the \UNIX{} mode of the file, used | 
					
						
							|  |  |  | only when the database has to be created.  It defaults to octal | 
					
						
							|  |  |  | \code{0666} (and will be modified by the prevailing umask). | 
					
						
							|  |  |  | \end{funcdesc} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | \begin{excdesc}{error} | 
					
						
							|  |  |  | Raised for errors not reported as \exception{KeyError} errors. | 
					
						
							|  |  |  | \end{excdesc} | 
					
						
							| 
									
										
										
										
											1999-04-05 22:18:12 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | \begin{seealso} | 
					
						
							|  |  |  |   \seemodule{anydbm}{Generic interface to \code{dbm}-style databases.} | 
					
						
							|  |  |  |   \seemodule{whichdb}{Utility module used to determine the type of an | 
					
						
							|  |  |  |                       existing database.} | 
					
						
							|  |  |  | \end{seealso} |