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

如何确定文件,功能和行号?

万明辉
2023-03-14
问题内容

在C ++中,我可以打印调试输出,如下所示:

printf(
   "FILE: %s, FUNC: %s, LINE: %d, LOG: %s\n",
   __FILE__,
   __FUNCTION__,
   __LINE__,
   logmessage
);

如何在Python中做类似的事情?


问题答案:

有一个名为的模块inspect可提供这些信息。

用法示例

import inspect

def PrintFrame():
  callerframerecord = inspect.stack()[1]    # 0 represents this line
                                            # 1 represents line at caller
  frame = callerframerecord[0]
  info = inspect.getframeinfo(frame)
  print(info.filename)                      # __FILE__     -> Test.py
  print(info.function)                      # __FUNCTION__ -> Main
  print(info.lineno)                        # __LINE__     -> 13

def Main():
  PrintFrame()                              # for this line

Main()

但是,请记住,有一种更简单的方法来获取当前正在执行的文件的名称:

print(__file__)


 类似资料:
  • 问题内容: 在python中,我尝试执行以下操作以定义函数: 但是由于某种原因,这是错误的。我收到此错误: 我该如何解决? 谢谢 问题答案: 这不是在python中声明函数的方式。您要写的是: 也就是说,如果您已经具有和函数。

  • 我有一堆功能文件(大约15个),其中每个功能文件都有一个线程,需要睡眠至少3分钟(对于一些复杂的后台应用程序,需要执行一些功能)。我需要一种并行执行它们的方法。 我有一个简单的CucumberRunnerTestCLass。 非常感谢您的帮助。谢谢

  • 我偶然发现了表达式通过android-在xml中应用selectableItembackground并支持v7。 我想看看该表达式的确切功能,因为我不明白开头的问号象征着什么以及它是如何准确地完成任务的。 它说它是支持库v7的一部分,但我试着查找它,却找不到有用的信息 到底是什么, 定义它的位置和 它到底是做什么的。

  • 问题内容: 情况: 我正在AngularJs中制作一个分配权限的应用程序。为了做到这一点,我有三个嵌套的ng-repeat。 第一循环 :显示PERMISSION GROUP 第二个循环 :对于每个权限组,显示“类别”。在此循环内执行一个函数,该函数将获取每个类别的所有子类别 第三循环 :显示子类别 问题: 问题在于第二个循环内函数的执行。 尝试1-ng-init: 在控制器中: 行为很奇怪。可能

  • 问题内容: 我在Java中使用PdfBox从PDF文件提取文本。提供的某些输入文件无效,这些文件上的PDFTextStripper暂停。有没有一种干净的方法来检查提供的文件是否确实是有效的PDF? 问题答案: 您可以找出文件(或字节数组)的mime类型,因此不必盲目地依赖扩展名。我是用光圈的MimeExtractor(http://aperture.sourceforge.net/)来完成的,或者

  • 问题内容: 在Golang中,我正在寻找一种有效的方法来确定文件的行数。 当然,我总是可以遍历整个文件,但效率似乎并不高。 有没有一种更好的方法(更快,更便宜)来找出文件有多少行? 问题答案: 这是用于查找换行符的更快的行计数器。 它之所以更快,是因为它消除了返回整行所需的所有额外逻辑和缓冲,并利用了字节包提供的某些程序集优化功能来搜索字节片中的字符。 较大的缓冲区在这里也有帮助,尤其是对于较大的