In article <mailman.1636.1382847023.18130.python-l...@python.org>, Ben Finney <ben+pyt...@benfinney.id.au> wrote:
> Peter Cacioppi <peter.cacio...@gmail.com> writes: > > > Am I the only one who finds this function super useful? > > > > def _code_file() : > > return os.path.abspath(inspect.getsourcefile(_code_file)) > > I've used âos.path.dirname(os.path.abspath(__file__))â to find the > directory containing the current file, in the past. But that was before > Python's âunittestâ module could discover where the test code lives. > > > I've got one in every script. It's the only one I have to copy around. > > For my workflow ... so handy. > > What workflow requires you to know the filename of the module, within > the module? We use: config_dir = os.path.abspath(os.path.dirname(__file__)) songza_dir, _ = os.path.split(config_dir) top_dir, _ = os.path.split(songza_dir) assert os.path.exists(top_dir + "/.hg") return top_dir in our config files. This gives us the absolute path to the top of our source tree (I don't remember why we do the double os.path.split() instead of the more obvious "../.."). We know the file where this code lives is two levels down from the top of the source tree. Once we've got the absolute path to the top of the tree, that's used in all sorts of places to locate data files, and to generate configurations for other applications (nginx, etc).
-- https://mail.python.org/mailman/listinfo/python-list