namespaces

Paolino paolo_veronelli at tiscali.it
Sun Jul 31 06:44:46 EDT 2005


Robert Kern wrote:
> Paolino wrote:
> 
>>While it's not so bad we can bind names in the module namespace, (ex 
>>writing  scripts ?) ,writing modules is someway bound to not polluting 
>>that namespace (really IMO).
> 
> 
> I'm afraid that I can't parse that sentence.

I show you a piece of code I need to define a function:

import string
all=string.maketrans('','')
badcars=all.translate(all,string.letters+string.digits)
table=string.maketrans(badcars,'_'*len(badcars))
def translate(text):
   return text.translate(table)

What I'm needing as a global (in globals() or at the module level or in 
the module namespace) is 'translate'.The rest of bindings (all,badcars 
and table) is something which is 'polluting' the module namespace.

Now this is the non polluting version :

class translate:
   import string
   all=string.maketrans('','')
   badcars=all.translate(all,string.letters+string.digits)
   @staticmethod
   def __call__(text,table=string.maketrans(badcars,'_'*len(badcars))):
     return text.translate(table)
translate=translate()

I'd like to have some help from the language in binding names this way.

Hope I've been clearer :)

Paolino

	

	
		
___________________________________ 
Yahoo! Mail: gratis 1GB per i messaggi e allegati da 10MB 
http://mail.yahoo.it



More information about the Python-list mailing list