
On Sun, Sep 29, 2013 at 2:26 AM, Cameron Simpson <cs@zip.com.au> wrote:
On 28Sep2013 08:19, anatoly techtonik <techtonik@gmail.com> wrote: | FILE = os.path.abspath(__file__) | DIR = os.path.abspath(os.path.dirname(__file__)) | ? | | Repeated pattern for referencing resources relative to your scripts. Ideas | about alternative names / locations are welcome. | | In PHP these are __FILE__ and __DIR__. For Python 3 adding __dir__ is | impossible, because the name clashes with __dir__ method (which is not | implemented for module object, but should be [ ] for consistency). Also | current __file__ is rarely absolute path, because it is never normalized [ | ].
Maybe I'm grumpy this morning (though I felt the same reading this yesterday).
-1 for any names commencing with __ (or even _).
-1 for new globals.
-1 because I can imagine wanting different nuances on the definitions above; in particular for DIR I can well imagine wanting bare dirname(abspath(FILE)) - semanticly different to your construction. There's lots of scope for bikeshedding here.
-1 because this is trivial trival code.
-1 because you can do all this with relative paths anyway, no need for abspath
-1 because I can imagine being unable to compute abspath in certain circumstances ( certainly on older UNIX systems you could be inside a directory without sufficient privileges to walk back up the tree for getcwd and its equivalents )
-0 for adding some kind of convenience functions to importlib(?) for this (+0 except that I can see heaps of bikeshedding)
With all -1 above, what is your preferred way to refer to resources that are places into subdirectories of your script directory? -- anatoly t.