Use a module and a class variables for that.
I think we could manage a little example too ;-) This one is a fictitious little game project where the user can define a custom graphics directory on the command line.
Three files: game.py, graphics.py and common.py.
The common.py file contains that class with class variables that jorge was talking about. Other modules import this as needed.
The contents of the files follow below.
So:
$ python game.py
/usr/local/mygame/data/gfx
$ python game.py --gfx-dir moo/cow
/usr/local/mygame/moo/cow
$ python game.py --gfx-dir /moo/cow
/moo/cow
Hope it helps!
/Joel Hedlund
main.py:
--------------------------------------------------------
#!/usr/bin/python
import sys
import graphics
from common import Settings
try:
i = sys.argv.index('--gfx-dir')
except ValueError:
pass
else:
Settings.graphics_dir = sys.argv[i + 1]
print graphics.graphics_dir()
--------------------------------------------------------
common.py:
--------------------------------------------------------
class Settings(object):
game_dir = '/usr/local/mygame'
graphics_dir = 'data/gfx'
--------------------------------------------------------
graphics.py:
--------------------------------------------------------
import os
from common import Settings
def graphics_dir():
return os.path.join(Settings.game_dir, Settings.graphics_dir)
--------------------------------------------------------