Retrieve source filename

Steven Taschuk staschuk at
Fri Aug 1 03:02:39 CEST 2003

Quoth Shrom:
> I know that you can retrieve main file name with sys.argv[0] and file name
> for a module with modulename.__file__ but is there a common way to retrieve
> file name for both main program and modules as the __FILE__ constant in PHP
> ?

As of 2.3, the __main__ module also has a __file__ attribute, so
you can just do
The (an?) exception is when __main__ is the text in a 'python -c'
command -- then there is, of course, no file name.  And for
compatibility with versions < 2.3, you have to check for the case
__name__ == '__main__' and go to sys.argv[0].

Steven Taschuk                                7\ 7'Z {&~         .
staschuk at                        Y r          --/hG-
                                            (__/ )_             1^1`

More information about the Python-list mailing list