Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   Python (http://www.velocityreviews.com/forums/f43-python.html)
-   -   hidden built-in module (http://www.velocityreviews.com/forums/t596778-hidden-built-in-module.html)

gigs 03-05-2008 01:39 PM

Re: hidden built-in module
 
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 *

koara 03-07-2008 01:14 PM

hidden built-in module
 
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.

koara 03-07-2008 02:15 PM

Re: hidden built-in module
 
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 03-07-2008 02:50 PM

Re: hidden built-in module
 
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 03-07-2008 02:57 PM

Re: hidden built-in module
 
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 03-07-2008 03:15 PM

Re: hidden built-in module
 
> 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!


All times are GMT. The time now is 04:34 PM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.