By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
445,876 Members | 1,206 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 445,876 IT Pros & Developers. It's quick & easy.

Finding the path to a file

P: n/a
Hey,

I have been working on a program that stores
information for each user in a subdirectory of the
directory in which the script is run. So if my script
is in /home/someuser/myprogram, the config files and
such are in /home/someuser/myprogram/config. Now if I
invoke the interpreter from the same directory as the
script is in I can load and save the files because cwd
points to that directory(I used cwd to get the path
and then add /config to it to get to the proper
directory)

My problem is that if I invoke it with a command like
python /home/someuser/myprogram but I am in
/home/someuser, cwd does not point to the scripts
directory but to the directory the interpreter was
invoked from. This means I don't know how to find the
config files other than making them hard coded to a
certain directory. I don't want to hard code them
however so that the program can be contained in one
directory and easily removed and I also don't want to
have to specify where a user installs the program.

So basically, I want to know how to find the directory
my script is in, even when it is invoked from another
directory. Any help would be greatly appreciated.

Thanks in advance,
Todd A. Johnson

=====
The grace of the Lord Jesus Christ, and the love of God, and the communion of the Holy Ghost, be with you all. Amen. II Corinthians 13:14

__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com

Jul 18 '05 #1
Share this Question
Share on Google+
1 Reply


P: n/a
One way to do this is to specify an environment
variable similar to PYTHONPATH for your application.
It will be the place where the program should search
for the config file.

On unix, one user would use it as follows.

Egs: % export MYCONFIGPATH="/etc:/usr/local/etc:/home/someuser/:
/home/soomeuser/program"

In your program, look for the config file first in cwd
.. If you cannot find it look up this env variable from
the shell using os.environ.get() and walk through the
paths using os.path.walk() to look for your cfg file.
I suggest os.path.walk() as it can recurse the sub-paths
too.

It reminds me, I have to add similar functionality for
harvestman.

Anand

Todd Johnson <ov**********@yahoo.com> wrote in message news:<ma**********************************@python. org>...
Hey,

I have been working on a program that stores
information for each user in a subdirectory of the
directory in which the script is run. So if my script
is in /home/someuser/myprogram, the config files and
such are in /home/someuser/myprogram/config. Now if I
invoke the interpreter from the same directory as the
script is in I can load and save the files because cwd
points to that directory(I used cwd to get the path
and then add /config to it to get to the proper
directory)

My problem is that if I invoke it with a command like
python /home/someuser/myprogram but I am in
/home/someuser, cwd does not point to the scripts
directory but to the directory the interpreter was
invoked from. This means I don't know how to find the
config files other than making them hard coded to a
certain directory. I don't want to hard code them
however so that the program can be contained in one
directory and easily removed and I also don't want to
have to specify where a user installs the program.

So basically, I want to know how to find the directory
my script is in, even when it is invoked from another
directory. Any help would be greatly appreciated.

Thanks in advance,
Todd A. Johnson

=====
The grace of the Lord Jesus Christ, and the love of God, and the communion of the Holy Ghost, be with you all. Amen. II Corinthians 13:14

__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com

Jul 18 '05 #2

This discussion thread is closed

Replies have been disabled for this discussion.