当前位置: 首页 > 面试题库 >

如何在Python中使用inspect从被呼叫者获取呼叫者的信息?

萧献
2023-03-14
问题内容

我需要从被叫方获取呼叫者信息(什么文件/什么行)。我了解到可以为此目的使用inpect模块,但不能完全使用它。

如何使用inspect获取那些信息?还是有其他方法来获取信息?

import inspect

print __file__
c=inspect.currentframe()
print c.f_lineno

def hello():
    print inspect.stack
    ?? what file called me in what line?

hello()

问题答案:

呼叫者的帧比当前帧高一帧。您可以inspect.currentframe().f_back用来查找呼叫者的框架。然后使用inspect.getframeinfo获取调用者的文件名和行号。

import inspect

def hello():
    previous_frame = inspect.currentframe().f_back
    (filename, line_number, 
     function_name, lines, index) = inspect.getframeinfo(previous_frame)
    return (filename, line_number, function_name, lines, index)

print(hello())

# ('/home/unutbu/pybin/test.py', 10, '<module>', ['hello()\n'], 0)


 类似资料:
  • 问题内容: 我已经在voip应用程序中实现了呼叫工具包,在该工具包中,我为传入或传出的呼叫生成了呼叫日志(在“电话最近使用”标签上可见)。当我单击通话记录时,它将打开我的应用程序。我已经重写了委托方法来获取处理程序。 但是我无法获得有关呼叫日志的信息。如何在我的应用程序中获取通话记录信息? 任何帮助,不胜感激。谢谢! 问题答案: 我们可以从 userActivity* 获取 电话号码 , *

  • 问题内容: 我正在编写Java Rest Web服务,需要调用者的IP地址。我以为我曾经在Cookie中看到过一次,但现在看不到了。是否有一致的地方获取此信息? 我看到了一个使用“ OperationalContext”来获取它的示例,但这不是在Java中。 问题答案: 我认为您可以通过请求对象获得IP。 如果我没记错的话。

  • 问题内容: 我正在编写Java Rest Web服务,需要调用者的IP地址。我以为我曾经在Cookie中看到过一次,但现在看不到了。是否有一致的地方获取此信息? 我看到了一个使用“ OperationalContext”来获取它的示例,但这不是在Java中。 问题答案: 我认为您可以通过请求对象获取IP。 如果我没记错的话。

  • 问题内容: 如果Java客户端在其他服务器上调用远程EJB,您如何获得客户端IP地址?请注意,从服务器获取它很重要,因为客户端可能位于NAT防火墙之后,在这种情况下,我们需要公共IP地址。 注意:尽管它最好是一种通用的解决方案,但是至少我可以使用一个从JBoss 4.2.2上的EJB2调用中检索IP地址的解决方案。 问题答案: JBoss社区Wiki上的这篇文章完全解决了您的问题。在JBoss 5

  • 问题内容: 我曾经认为,如果goroutine中的恐慌的调用者在恐慌之前完成,它将使其终止程序(延迟恢复没有任何帮助,因为此时还没有发生恐慌), 直到我尝试以下代码: 我发现无论调用者函数完成与否,如果goroutines开始恐慌,调用者的延迟恢复机制将无济于事。整个程序仍然无效。 所以为什么?理论上,调用者功能仍在运行。当出现紧急情况时,调用者的延迟功能应起作用(包括恢复)。 问题答案: 该规范

  • 1、接口声明 如果您希望在自己的CRM系统嵌入呼叫中心能力,需要对接智齿呼叫中心能力,在对接前请您阅读如下对接流程,以便您更好的完成对接。如果只对接基本呼叫能力,预计对接及调试过程1周左右即可完成。 第一步:获取第三方用户接口调用唯一凭证 请联系您的售后经理,获取您企业的如下信息: 1、companyid(企业id) 2、appid(第三方用户接口调用唯一凭证id) 3、app_key(第三方用户