You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从嵌套导入的模块中获取main.py的绝对路径?

获取启动脚本main.py的绝对路径

最优实现方式

直接利用Python标准库的sys和os模块,通过sys.argv[0]获取启动脚本路径,再转换为绝对路径,这是最直接高效的方案。

代码示例(module.py中)

import sys
import os

def get_main_absolute_path():
    # sys.argv[0] 存储启动Python时传入的脚本路径,即main.py
    return os.path.abspath(sys.argv[0])

原理说明

  • sys.argv[0]:返回启动解释器时的入口脚本路径,无论启动时用的是相对路径还是绝对路径
  • os.path.abspath():将路径转换为标准的绝对路径格式,消除相对路径中的.、..等符号,保证跨平台兼容性
  • 这种方式无需遍历调用栈或依赖复杂的文件导入关系,执行效率高,逻辑清晰

注意事项

该方案仅适用于main.py作为直接启动入口的场景(即通过python main.py启动),如果main.py是被其他脚本导入的,sys.argv[0]会返回导入它的脚本路径,但完全符合你的应用结构需求。

内容的提问来源于stack exchange,提问作者Julius Jonker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 00:30:55