[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.python

Re: hidden built-in module

gigs

3/5/2008 1:39:00 PM

koara wrote:
> Hello, is there a way to access a module that is hidden because
> another module (of the same name) is found first?
>
> More specifically, i have my own logging.py module, and inside this
> module, depending on how initialization goes, i may want to do 'from
> logging import *' from the built-in logging.
>
> I hope my description was clear, cheers.
>
> I am using python2.4.
you can add your own logging module in extra directory that have __init__.py and
import it like: from extradirectory.logging import *

and builtin: from logging import *
4 Answers

koara

3/7/2008 2:15:00 PM

0

On Mar 5, 1:39 pm, gigs <g...@hi.t-com.hr> wrote:
> koara wrote:
> > Hello, is there a way to access a module that is hidden because
> > another module (of the same name) is found first?
>
> > More specifically, i have my own logging.py module, and inside this
> > module, depending on how initialization goes, i may want to do 'from
> > logging import *' from the built-in logging.
>
> > I hope my description was clear, cheers.
>
> > I am using python2.4.
>
> you can add your own logging module in extra directory that have __init__.py and
> import it like: from extradirectory.logging import *
>
> and builtin: from logging import *


Thank you for your reply gigs. However, the point of this namespace
harakiri is that existing code which uses 'import logging' ...
'logging.info()'... etc. continues working without any change.
Renaming my logging.py file is not an option -- if it were, i wouldn't
bother naming my module same as a built-in :-)

Cheers.

Diez B. Roggisch

3/7/2008 2:51:00 PM

0

koara schrieb:
> On Mar 5, 1:39 pm, gigs <g...@hi.t-com.hr> wrote:
>> koara wrote:
>>> Hello, is there a way to access a module that is hidden because
>>> another module (of the same name) is found first?
>>> More specifically, i have my own logging.py module, and inside this
>>> module, depending on how initialization goes, i may want to do 'from
>>> logging import *' from the built-in logging.
>>> I hope my description was clear, cheers.
>>> I am using python2.4.
>> you can add your own logging module in extra directory that have __init__.py and
>> import it like: from extradirectory.logging import *
>>
>> and builtin: from logging import *
>
>
> Thank you for your reply gigs. However, the point of this namespace
> harakiri is that existing code which uses 'import logging' ...
> 'logging.info()'... etc. continues working without any change.
> Renaming my logging.py file is not an option -- if it were, i wouldn't
> bother naming my module same as a built-in :-)

You can only try and search the sys-path for the logging-module, using

sys.prefix

and then look for logging.py. Using

__import__(path)

you get a reference to that module.

Diez

Gabriel Genellina

3/7/2008 2:57:00 PM

0

En Fri, 07 Mar 2008 12:15:04 -0200, koara <koara@atlas.cz> escribi�:
> On Mar 5, 1:39 pm, gigs <g...@hi.t-com.hr> wrote:
>> koara wrote:
>> > Hello, is there a way to access a module that is hidden because
>> > another module (of the same name) is found first?
>>
>> > More specifically, i have my own logging.py module, and inside this
>> > module, depending on how initialization goes, i may want to do 'from
>> > logging import *' from the built-in logging.
>>
>> you can add your own logging module in extra directory that have
>> __init__.py and
>> import it like: from extradirectory.logging import *
>> and builtin: from logging import *
>
> Thank you for your reply gigs. However, the point of this namespace
> harakiri is that existing code which uses 'import logging' ...
> 'logging.info()'... etc. continues working without any change.
> Renaming my logging.py file is not an option -- if it were, i wouldn't
> bother naming my module same as a built-in :-)

Read a very recent post from Bruno Desthuilliers with subject "Altering
imported modules"

--
Gabriel Genellina

koara

3/7/2008 3:16:00 PM

0

> You can only try and search the sys-path for the logging-module, using
>
> sys.prefix
>
> and then look for logging.py. Using
>
> __import__(path)
>
> you get a reference to that module.
>
> Diez


Thank you Diez, that's the info i'd been looking for :-)

So the answer is sys module + __import__

Cheers!