Burton Samograd wrote: > Hi, > > I'm writing an app that stores some user configuration variables in a > file ~/.program/config, which it then imports like so: > > import sys > from posix import environ > sys.path.append(environ["HOME"]+"/.program") > import config > > I can then access the configuration through code like: > > login(config.username)
better use some plain text configuration file check ConfigParser documentation. > So I guess the real question is: > > Is there a way to create a module namespace and populate it > before sourcing the file? if you take a look at how naming space is affected by the variants "from module import *" and his conterpart "import module", you will have your answer. shortly if you use "import foo" all the variables/class/functions comming from the module foo are located in a globlal space dictionary named foo if you use "form foo import *" all variables/class/functions comming from the foo module are located in gloabal space naming dictionary. try this -=-=-=-=-=-=- consider module foo.py -=-=-=-=-=-=- my_var = "my var from foo" -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- hebus:~/tmp > python Python 2.4.2 (#1, Mar 22 2006, 12:59:23) [GCC 3.3.5 (Debian 1:3.3.5-5)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import foo >>> print my_var Traceback (most recent call last): File "<stdin>", line 1, in ? NameError: name 'my_var' is not defined and now hebus:~/tmp > python Python 2.4.2 (#1, Mar 22 2006, 12:59:23) [GCC 3.3.5 (Debian 1:3.3.5-5)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> from foo import * >>> print my_var my var from foo this will lead to a solution regarding your problem hebus:~/tmp > python Python 2.4.2 (#1, Mar 22 2006, 12:59:23) [GCC 3.3.5 (Debian 1:3.3.5-5)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> my_var = 'some default value' >>> from foo import * >>> print my_var my var from foo once again, I bet your best choice will be to have some plain text config file Eric -- Je voudrais savoir s'il existe un compteur de vitesse (?) pour savoir à quelle vitesse on est réellement connecté au FAI et surtout si une telle bête existe... où la trouver. -+- RJ in: Guide du Neuneu d'Usenet - Baisse la tête et pédale -+- -- http://mail.python.org/mailman/listinfo/python-list