首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

获取调用函数所在脚本的路径

可以使用Python中的inspect模块来实现。inspect模块提供了一系列用于获取有关活动对象(例如模块、函数、类、方法)的信息的函数。

具体实现步骤如下:

  1. 导入inspect模块:import inspect
  2. 使用inspect.stack()函数获取当前调用栈的信息,返回一个包含调用栈帧信息的列表。
  3. 通过inspect.stack()[1]获取调用函数的栈帧信息。
  4. 使用inspect.getframeinfo(frame)函数获取栈帧的详细信息,其中frame为上一步获取的栈帧信息。
  5. 通过frameinfo.filename属性获取调用函数所在脚本的路径。

下面是一个示例代码:

代码语言:python
代码运行次数:0
复制
import inspect

def get_caller_script_path():
    frame = inspect.stack()[1]
    frame_info = inspect.getframeinfo(frame[0])
    return frame_info.filename

caller_script_path = get_caller_script_path()
print("调用函数所在脚本的路径:", caller_script_path)

这段代码会打印出调用函数所在脚本的路径。

对于这个问题,腾讯云提供了云函数(Serverless Cloud Function)服务,可以帮助开发者快速构建、运行和管理无服务器应用程序。云函数支持多种编程语言,如Python、Node.js、Java等,可以轻松实现获取调用函数所在脚本的路径的功能。您可以通过腾讯云云函数的官方文档了解更多信息:云函数产品介绍

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • dotnet 获取程序所在路径方法 Assembly.GetCallingAssemblyAssembly.GetEntryAssemblyAssembly.GetExecu

    在 dotnet 有很多方法可以获取当前程序所在路径,但是这些方法获取路径有一点不相同,特别是在工作路径不是当前程序所在路径时候 通过下面几个方法都可以拿到程序所在文件夹或程序文件 AppDomain.CurrentDomain.BaseDirectory...=D:\lindexi\dotnet 获取程序所在路径方法 Assembly.GetCallingAssembly().Location=D:\lindexi\dotnet 获取程序所在路径方法\SetereBojerhis.exe...\dotnet 获取程序所在路径方法 AppDomain.CurrentDomain.SetupInformation.ApplicationBase=D:\lindexi\dotnet 获取程序所在路径方法...,但是还是有很多区别 Assembly.GetCallingAssembly 获取调用这个函数函数,如 Foo 函数里面调用了 Assembly.GetCallingAssembly 方法,那么将会返回调用...Foo 函数函数所在程序集文件路径 如存在程序集 A1 里面的 M1 方法,在 M1 方法调用 Assembly.GetCallingAssembly 方法。

    2.8K41

    java:windows下获取当前虚拟机(java.exe)所在路径

    如果你要想在运行时获取当前java虚拟机所在位置,通过System.getProperty(“java.home”)调用并不能获取准确位置。..._111\bin\java.exe” 但调用System.getProperty(“java.home”)返回结果为”C:\Program Files\Java\jdk1.8.0_111\jre”...所以java程序要想知道自己当前所在虚拟机位置,是不能通过”java.home”属性来获取。...因为Windows下可执行程序(.exe)搜索动态库(DLL)时首先搜索就是它自己所在路径,所以JVM运行时,它首先搜索路径也就是包含java.exe路径,所以这个路径也是”java.library.path...”属性中第一个路径; 所以可以利用这个特性,通过”java.library.path”属性来间接获取jvm位置。

    1.8K20

    Linux获取当前脚本真实路径方法

    1.获取当前脚本真实路径: #!....* ]] #判断当前脚本是否为绝对路径,匹配以/开头下所有 then script=$0 else script=$(pwd)/$0 fi script=`readlink -f $script...` #获取文件真实路径 script_path=${script%/*} #获取文件所在目录 realpath=$(readlink -f $script_path) #获取文件所在目录真实路径...2.readlink -f :获取符号链接真实文件位置,最后得到符号链接真实文件位置 ? 3.basename :获取文件文件名 ? ? 4.dirname:获取文件目录名 ?...总结 以上就是这篇文章全部内容了,希望本文内容对大家学习或者工作具有一定参考学习价值,谢谢大家对ZaLou.Cn支持。如果你想了解更多相关内容请查看下面相关链接

    3.1K41

    获取 WordPress 路径和 URl 地址函数大全

    中与获取路径相关函数很重要。...本文主要总结了:站点路径相关函数/主题路径相关函数/插件路径相关函数路径相关常量,以下均假设 WordPress 站点安装在 http://www.uedsc.com 下。...站点路径相关函数 home_url() 返回站点路径,相当于后台设置->常规中”站点地址(URL)”。...插件路径相关函数 plugins_url() 获取当前插件目录 URI,例如一个插件位于 /wp-content/plugins/myplugin 下,该目录下放有插件主文件名为 myplugin.php...> plugin_basename() 返回调用函数插件文件名称(包含插件路径) 例如在插件 myplugin 下 myplugin.php 文件中调用函数,结果如下 echo plugin_basename

    1.8K30

    根据 PID 获取容器所在 Pod 名称

    Container ID 要获取容器 ID,可以查看 PID 对应 cgroup 信息: $ cat /proc/14338/cgroup 11:blkio:/kubepods/burstable...d6f24b62 最后一步根据容器 ID 获取 Pod 名称,如果你容器运行时是 containerd 或 crio,可以使用 crictl 来获取容器信息: # Go Template $ crictl...如果你容器运行时是 Docker,可以使用命令行工具 docker 来获取,方法和上面类似。 2....可以在 ~/.bashrc 中添加一个 shell 函数,选择上面的方法 1,并使用 go template 来格式化(你也可以使用上面提到其他方法,但需要安装 jq): podinfo() {...{index .status.labels "io.kubernetes.pod.name"}}' $CID } 执行下面的命令使修改立即生效: $ source ~/.bashrc 然后就可以使用该函数获取

    6.7K21

    如何获取当前正在执行脚本绝对路径

    dirname $0 最近在看脚本时候经常发现有“dirname $0”这样一种表述,很是不解。...# get path to scripts scripts_dir=`dirname $0` 刚开始我还以为需要把dirname改成对应路径,同时又不解$0在这里是表达什么含义。.../bin/bash cd `dirname $0` echo `pwd` 切到/home/zwang/1/2/3/4路径下,运行test.sh后就位于脚本所在目录并输出路径了。...现在我们回头来把这个脚本拆开来理解一下 `` 表示执行引号内命令 $0 表示当前执行脚本文件名 dirname $0 表示获取当前执行脚本路径 这样一来就能明白dirname $0是如何获取当前执行脚本路径了吧.../bin/bash basepath=$(cd `dirname $0`; pwd) echo $basepath 此时输出结果是脚本所在路径,但如果我换一种命令替换方式 #!

    1.8K20

    bash shell:获取当前脚本绝对路径(pwdreadlink)

    https://blog.csdn.net/10km/article/details/51906821 有时候,我们需要知道当前执行输出shell脚本所在绝对路径,可以用dirname...我们知道 dirname 可以获取一个文件所在路径,dirname用处是: 输出已经去除了尾部”/”字符部分名称;如果名称中不包含”/”, 则显示”.”(表示当前目录)。...所以下面这样代码中SHELL_FOLDER中不一定是绝对路径 SHELL_FOLDER=$(dirname "$0") 需要用cd和pwd命令配合获取脚本所在绝对路径,正确写法是这样, SHELL_FOLDER...=$(cd "$(dirname "$0")";pwd) 如果你觉得上面的写法比较麻烦,还有一个方式获取脚本绝对路径,就是借助readlink命令,下面是readlink命令行说明: ?...所以用readlink命令我们可以直接获取$0参数路径文件名,然后再用dirname获取所在绝对路径: SHELL_FOLDER=$(dirname $(readlink -f "$0")) 参考

    8.7K30
    领券