Re: is there a way to determine a relative path to the script?

2009-01-02 Thread TechieInsite
import os
base = __file__.split(os.sep)
os.path.relpath('path/to/your/file/, base)

I hope this helps.

Greg

tekion wrote:
 Hello,
 I have a script in /usr/local/app/mypython.py and a configuration file
 relative to /usr/local/app/conf.  When I call the script with an
 absolute path of /usr/local/app/mypthon.py  I recieved an error
 similar to the below error:

 Traceback (most recent call last):
   File script/art/auditlog.py, line 28, in ?
 database =  Config.get(DB, user)
   File /System/Library/Frameworks/Python.framework/Versions/2.3/lib/
 python2.3/ConfigParser.py, line 505, in get
 raise NoSectionError(section)
 ConfigParser.NoSectionError: No section: 'DB'

 I know why, the configuration which I reference in the script is
 relative to /usr/local/app, when I call the script via an absolute
 path, then the relative the configuration file is base on where ever I
 call the script from. One way to fix this is to add a path manually
 into the variable. But I would like to avoid this hard-coding
 parameter into my script. Is there a way to determined the relative
 location of the script programatically? FYI, in the end this scrip
 would run from CRON.
--
http://mail.python.org/mailman/listinfo/python-list


Re: is there a way to determine a relative path to the script?

2009-01-02 Thread TechieInsights
import os
os.path.relpath('/path/to/your/file', os.path.dirname(__file__))

tekion wrote:
 Hello,
 I have a script in /usr/local/app/mypython.py and a configuration file
 relative to /usr/local/app/conf.  When I call the script with an
 absolute path of /usr/local/app/mypthon.py  I recieved an error
 similar to the below error:

 Traceback (most recent call last):
   File script/art/auditlog.py, line 28, in ?
 database =  Config.get(DB, user)
   File /System/Library/Frameworks/Python.framework/Versions/2.3/lib/
 python2.3/ConfigParser.py, line 505, in get
 raise NoSectionError(section)
 ConfigParser.NoSectionError: No section: 'DB'

 I know why, the configuration which I reference in the script is
 relative to /usr/local/app, when I call the script via an absolute
 path, then the relative the configuration file is base on where ever I
 call the script from. One way to fix this is to add a path manually
 into the variable. But I would like to avoid this hard-coding
 parameter into my script. Is there a way to determined the relative
 location of the script programatically? FYI, in the end this scrip
 would run from CRON.
--
http://mail.python.org/mailman/listinfo/python-list


Re: is there a way to determine a relative path to the script?

2009-01-02 Thread TechieInsights
Note:
The os.path.relpath is new in 2.6.  If you are using an older version
you will have to write your own algorithm


TechieInsights wrote:
 import os
 os.path.relpath('/path/to/your/file', os.path.dirname(__file__))

 tekion wrote:
  Hello,
  I have a script in /usr/local/app/mypython.py and a configuration file
  relative to /usr/local/app/conf.  When I call the script with an
  absolute path of /usr/local/app/mypthon.py  I recieved an error
  similar to the below error:
 
  Traceback (most recent call last):
File script/art/auditlog.py, line 28, in ?
  database =  Config.get(DB, user)
File /System/Library/Frameworks/Python.framework/Versions/2.3/lib/
  python2.3/ConfigParser.py, line 505, in get
  raise NoSectionError(section)
  ConfigParser.NoSectionError: No section: 'DB'
 
  I know why, the configuration which I reference in the script is
  relative to /usr/local/app, when I call the script via an absolute
  path, then the relative the configuration file is base on where ever I
  call the script from. One way to fix this is to add a path manually
  into the variable. But I would like to avoid this hard-coding
  parameter into my script. Is there a way to determined the relative
  location of the script programatically? FYI, in the end this scrip
  would run from CRON.
--
http://mail.python.org/mailman/listinfo/python-list