Linux环境下如何获取Python打包后可执行文件的绝对路径?
解决方案
在Linux环境下,直接读取/proc/self/exe这个符号链接就能获取当前运行的可执行文件绝对路径,完全不受文件名修改的影响。
代码实现
在firstclass.py中可以这样写:
import os def get_current_executable_path(): # 读取proc文件系统中的符号链接,获取可执行文件绝对路径 exe_link = '/proc/self/exe' try: executable_path = os.readlink(exe_link) # 确保路径是标准化的绝对路径 return os.path.abspath(executable_path) except OSError: # 处理读取失败的情况(比如权限问题,但Linux下普通用户一般可访问) return None
原理说明
/proc/self是Linux系统中指向当前进程proc目录的符号链接,/proc/self/exe则直接指向当前进程正在运行的可执行文件的真实绝对路径——无论这个文件被重命名成什么,这个链接都会动态指向它的实际位置,完美适配你的场景。
内容的提问来源于stack exchange,提问作者tvborda
相关产品推荐
相关产品推荐

