5
votes

This is my Python program:

#!/usr/bin/env python

import os

BASE_PATH = os.path.dirname(__file__)
print BASE_PATH

If I run this using python myfile.py it prints an empty string. If I run it using myfile.py, it prints the correct path. Why is this? I'm using Windows Vista and Python 2.6.2.

3

3 Answers

8
votes

It's just a harmless windows quirk; you can compensate by using os.path.abspath(__file__), see the docs

0
votes
os.path.normpath(os.path.join(os.getcwd(),os.path.dirname(__file__)))
0
votes

In many cases it's better to use:

os.path.dirname(sys.argv[0])