There is also a convenience function for this in Zope:

from Globals import package_home
here = package_home(globals())

- C


On Tue, 2004-03-09 at 14:16, Fred Drake wrote:
> On Tuesday 09 March 2004 01:58 pm, Ian Beatty wrote:
>  > This has to be an easy one.
> 
> Good, I'll take it.  ;-)
> 
>  > From within my Python-based product's code, how do I get access to the
>  > product's directory on the filesystem? os.getcwd() seems to provide the
>  > working directory of the shell used to launch Zope, at least when running
>  > in debug mode.
> 
> This isn't actually Zope specific; you can easily get the directory a module 
> lives in using this:
> 
>     import os
>     here = os.path.dirname(os.path.abspath(__file__))
> 
> The variable "here" will hold a string with an absolute path to the directory 
> containing the source file for your module (named by __file__).  The call to 
> os.path.abspath() isn't strictly necessary, but protects against future calls 
> to os.chdir() (though not past calls!) in case the module was loaded from 
> directory named by a relative directory on sys.path.
> 
> You can do this just once at module scope; there's no need to recompute this 
> each time you need it.
> 
> 
>   -Fred


_______________________________________________
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope )

Reply via email to