首页
学习
活动
专区
工具
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.9K41

    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

    获取 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

    2K30

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

    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.9K30

    根据 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.9K21

    matlab调用python库函数和自定义脚本函数

    本来只是想获取字符串的MD5hash值,结果发现麻烦。首先去mathworks找到的DataHash,GetMD5这些函数要么无法使用,要么就是计算出来的md5值是错误的,反正达不到效果。...python3.7指定路径 直接调用python内置函数 计算字符串md5函数 使用python的hashlib库进行操作 function[re]=md5(str) %{ 依赖...比如 获取当前时间戳: str2num(char(py.int(py.time.time()))) 直接用py库来调用即可,最后再使用matlab函数str2num,char处理成number类型。...新建test.py文件位于当前工作目录 def func(): return '123'[::-1] 载入python脚本: %脚本所在路径,空字符串表示当前目录 path = '' %当前目录...子目录形同:py.子目录.文件名.函数名 当修改py文件之后再调用会发现还是之前的结果,matlab缓存了之前的python脚本,所以这里需要clear classes...这类操作。

    76520
    领券