如何在linux上从符号链接执行正在运行的脚本的文件名

2024-06-17 08:37:25 发布

您现在位置:Python中文网/ 问答频道 /正文

如果我有一个通过符号链接执行的python脚本,有没有一种方法可以找到脚本的路径而不是符号链接?我尝试过使用this问题中建议的方法,但它们总是返回符号链接的路径,而不是脚本。在

例如,当它保存为my“/usr/home/philboltt/scripts”时/测试.py“:

#!/usr/bin/python

import sys

print sys.argv[0]
print __file__

然后我创建了这个符号链接

^{pr2}$

并使用

/usr/home/philboltt/test

我得到以下输出:

/usr/home/philboltt/test
/usr/home/philboltt/test

谢谢! 菲尔


Tags: 方法test路径脚本home链接myusr
3条回答

我相信你需要检查文件是否是一个符号链接,如果是的话,找到它链接的地方。例如。。。在

try:
    print os.readlink(__file__)
except:
    print "File is not a symlink"

^{}将解析符号链接,^{}将首先告诉您它是否是符号链接。在

您需要os.path.realpath()函数。在

相关问题 更多 >