python - 从 linux 上的符号链接(symbolic link)执行时如何查找正在运行的脚本的文件名

标签 python linux filenames symlink

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

例如,当这被保存为我的“/usr/home/philboltt/scripts/test.py”时:

#!/usr/bin/python

import sys

print sys.argv[0]
print __file__

然后我创建这个符号链接(symbolic link)

ln -s /usr/home/philboltt/scripts/test.py /usr/home/philboltt/test

并使用

执行脚本
/usr/home/philboltt/test

我得到以下输出:

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

谢谢! 菲尔

最佳答案

你想要 <a href="http://docs.python.org/library/os.path.html#os.path.realpath" rel="noreferrer noopener nofollow">os.path.realpath()</a>功能。

关于python - 从 linux 上的符号链接(symbolic link)执行时如何查找正在运行的脚本的文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2548936/

相关文章:

python - 如何在 django 中获取一周内每小时的平均值?

python - For循环调用urllib.urlopen().getcode()很慢

linux - max14830 带 beaglebone 黑色

Python:打开函数无法读取文件

python - for 文本文件循环

python - ServiceNow GlideRecord sysparm_query Python

Python Pandas - 比较 2 个数据帧,多个参数

Linux - 从 gmail 中继读取电子邮件并运行脚本

linux - 使用 Linux 虚拟服务器在 MMO 游戏中进行区域负载平衡

primefaces - Primefaces文件下载损坏的非英语文件名