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

如何在Python库函数C.py中获取调用它的主文件名?

实现根据调用脚本返回对应文件名的get_my_name函数

完全可以实现,以下是C.py的具体代码:

import inspect

def get_my_name():
    # 获取调用栈中上层的帧信息(对应调用该函数的脚本)
    caller_info = inspect.stack()[1]
    return caller_info.filename

原理说明

inspect.stack()会返回当前程序的调用栈列表,列表中的每个元素对应一个栈帧信息:

  • 索引0对应的是get_my_name函数自身的栈帧
  • 索引1对应的是调用get_my_name的代码所在的栈帧(也就是A.py或B.py的执行上下文)

通过栈帧对象的filename属性,就能直接获取到调用脚本的文件名,从而实现运行A.py输出A.py、运行B.py输出B.py的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 03:59:53