6,444 posts since Apr 2010
Reputation Points: 907 [?]
Q&As Helped to Solve: 1,030 [?]
Skill Endorsements: 38 [?]
I made this program during forum discussion for accessing configuration relative to module directory, not main program's position (which can be accessed by sys.argv's directoryname).
As the thread is closed I post my proves as code snippet.
## file one: main.py, main program in your working directory # this code must run directly, not inside IDLE to get right directory name import os, mytest curdir=os.path.dirname(__file__) print '-'*10,'program','-'*10 print 'Program in',curdir print 'Module is in', mytest.curdir print 'Config contents in module directory:\n',mytest.config() input('Push Enter') ## file two: mytest.py, module somewhere in PATH or PYTHONPATH import os curdir= os.path.dirname(__file__) print "Test module directory is "+curdir ## function, not call to function config=open(os.path.join(curdir,'mycfg.cfg')).read """ Example output: Test module directory is D:\Python Projects ---------- program ---------- Program in D:\test Module is in D:\Python Projects Config contents in module directory: [SECTIONTITLE] SETTING=12 Push Enter """"