Fix Python – How do I get the path of the current executed file in Python?

This may seem like a newbie question, but it is not. Some common approaches don’t work in all cases:
sys.argv[0]
This means using path = os.path.abspath(os.path.dirname(sys.argv[0])), but this does not work if you are running from another Python script in another directory, and this can happen in real life.
__file__
This means using path = os.path….

Fix Python – Test if executable exists in Python?

In Python, is there a portable and simple way to test if an executable program exists?
By simple I mean something like the which command which would be just perfect. I don’t want to search PATH manually or something involving trying to execute it with Popen & al and see if it fails (that’s what I’m doing now, but imagine it’s launchmissiles)
….

Fix Python – Relative paths in Python

I’m building a simple helper script for work that will copy a couple of template files in our code base to the current directory. I don’t, however, have the absolute path to the directory where the templates are stored. I do have a relative path from the script but when I call the script it treats that as a path relative to the current working dir….

Fix Python – How to use glob() to find files recursively?

This is what I have:
glob(os.path.join(‘src’,’*.c’))

but I want to search the subfolders of src. Something like this would work:
glob(os.path.join(‘src’,’*.c’))
glob(os.path.join(‘src’,’*’,’*.c’))
glob(os.path.join(‘src’,’*’,’*’,’*.c’))
glob(os.path.join(‘src’,’*’,’*’,’*’,’*.c’))

But this is obviously limited and clunky.
….