How do I get the name of a running Python script?
I tried os.__file__
but that returns the name of the file where os
resides.
How do I get the name of a running Python script?
I tried os.__file__
but that returns the name of the file where os
resides.
>> import os
>> import sys
>> print sys.argv[0]
or if you just want the script and not the full path
>>
>> print os.path.basename(sys.argv[0])
Use
thisFile = __file__
It's magic!
It depends on what you mean by "a running python script".
__file__
will give you the name of the currently executing file. If that's a module, you'll get where it was imported from e.g. blahblah.pyc
sys.argv[0]
will give you the name of the script that is being run, even if called from a module that that script imported.
Please do look up the answers to the earlier question on this topic (see S.Lott's comment on your question).
import __main__
print __main__.__file__
This will print the current filename which is running
sys.path[0]
returns the path of the script that launched the Python interpreter.
If you read this script directly, it will return the path of the script. If the script was imported from another script, it will return the path of that script.