If I have a python script that is executed via a symlink, is there a way that I can find the path to the script rather than the symlink? I've tried using the methods suggested in this question, but they always return the path to the symlink, not the script.
For example, when this is saved as my "/usr/home/philboltt/scripts/test.py" :
#!/usr/bin/python
import sys
print sys.argv[0]
print __file__
and I then create this symlink
ln -s /usr/home/philboltt/scripts/test.py /usr/home/philboltt/test
and execute the script using
/usr/home/philboltt/test
I get the following output:
/usr/home/philboltt/test
/usr/home/philboltt/test
Thanks! Phil
You want the os.path.realpath()
function.
os.readlink()
will resolve a symlink, and os.path.islink()
will tell you if it's a symlink in the first place.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With