Would somebody explain how to use __file__? I mean, what information it carries, and more importantly, when it does and does not exist? A one line script: print __file__ will yield the relative path if run from a shell, but will raise NameError when the script is run interactively from the interpreter. Is this the intended behavior? Thanks, Darren