Peter Otten <__pete...@web.de> wrote: > Matthias Kievernagel wrote: > >> In my top-level script I want to select if my program >> is to use random.xxx functions or the random.SystemRandom.xxx >> ones. All the other modules shouldn't know about that >> switch and simply use >> import random >> ... >> return random.randint(1, 6) >> ... >> for example. > > You can inject the SystemRandom instance into the sys.modules cache: > >>>> import random >>>> random > <module 'random' from '/usr/lib/python2.6/random.pyc'> >>>> sr = random.SystemRandom() >>>> import sys >>>> sys.modules["random"] = sr > > Then use it in the other modules: > >>>> import random >>>> random > <random.SystemRandom object at 0x1acdb60> > > Another approach is to monkey-patch the random module: > > import random > sr = random.SystemRandom() > random.randrange = sr.randrange > random.randint = sr.randint > ... > Thanks a lot. That's what I was looking for. I'll give both a try.
Regards, Matthias Kievernagel -- http://mail.python.org/mailman/listinfo/python-list