如何确定文件、函数和行号?

2023-12-09

在 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__)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何确定文件、函数和行号? 的相关文章

  • 从 SHAP 值中获取特征重要性

    我想要获得重要功能的数据框 通过下面的代码 我得到了 shap values 但我不确定这些值的含义是什么 在我的 df 中有 142 个特征和 67 个实验 但得到了一个带有 ca 的数组 2500 个值 explainer shap T
  • 上传时的 Google Drive API——这些额外的空行从何而来?

    总结一下该程序 我从我的 Google 云端硬盘下载一个文件 然后在本地计算机中打开并读取一个文件 file a txt 然后在我的计算机中打开另一个文件 file b txt 处于附加模式 并且在使用这个新的 file b 更新我的 Go
  • 在 Pandas 中,如何从基于另一个数据框的数据框中删除行?

    我有 2 个数据框 一个名为 USERS 另一个名为 EXCLUDE 他们都有一个名为 电子邮件 的字段 基本上 我想删除 USERS 中包含 EXCLUDE 中包含电子邮件的每一行 我该怎么做 您可以使用boolean indexing
  • 使用 Python 创建 MIDI

    本质上 我正在尝试从头开始创建 MIDI 并将它们放到网上 我对不同的语言持开放态度 但更喜欢使用Python 两种语言之一 如果这有什么区别的话 并且想知道我应该使用哪个库 提前致谢 看起来这就是您正在寻找的 适用于 Python 的简单
  • ctypes 错误:libdc1394 错误:无法初始化 libdc1394

    我正在尝试将程序编译为共享库 我可以使用 ctypes 在 Python 代码中使用该库 使用以下命令该库可以正常编译 g shared Wl soname mylib O3 o mylib so fPIC files pkg config
  • 在 python 3 中使用子进程

    我使用 subprocess 模块在 python 3 中运行 shell 命令 这是我的代码 import subprocess filename somename py in practical i m using a real fil
  • 从sklearn PCA获取特征值和向量

    如何获取 PCA 应用程序的特征值和特征向量 from sklearn decomposition import PCA clf PCA 0 98 whiten True converse 98 variance X train clf f
  • PyTorch 给出 cuda 运行时错误

    我对我的代码做了一些小小的修改 以便它不使用 DataParallel and DistributedDataParallel 代码如下 import argparse import os import shutil import time
  • 如何在VIM中设置文件的正确路径?

    每当我击中 pwd在 vim 中命令总是返回路径C Windows system32 即使我在桌面上的 Python 文件中 所以每当我跑步时 python 命令返回 python can t open file Users myname
  • 设置 verify_certs=False 但 elasticsearch.Elasticsearch 因证书验证失败而引发 SSL 错误

    self host KibanaProxy 自我端口 443 self user 测试 self password 测试 我需要禁止证书验证 使用选项时它与curl一起使用 k在命令行上 但是 在使用 Elasticsearch pytho
  • 如何使用 Bokeh 动态隐藏字形和图例项

    我正在尝试在散景中实现复选框 其中每个复选框应显示 隐藏与其关联的行 我知道可以通过图例来实现这一点 但我希望这种效果同时在两个图中发生 此外 图例也应该更新 在下面的示例中 出现了复选框 但不执行任何操作 我显然不明白如何更新用作源的数据
  • GradientTape 根据损失函数是否被 tf.function 修饰给出不同的梯度

    我发现计算的梯度取决于 tf function 装饰器的相互作用 如下所示 首先 我为二元分类创建一些合成数据 tf random set seed 42 np random seed 42 x tf random normal 2 1 y
  • Python:我不明白 sum() 的完整用法

    当然 我明白你使用 sum 与几个数字 然后它总结所有 但我正在查看它的文档 我发现了这一点 sum iterable start 第二个参数 start 的作用是什么 这太尴尬了 但我似乎无法通过谷歌找到任何示例 并且对于尝试学习该语言的
  • 为什么我应该使用 WSGI?

    使用 mod python 一段时间了 我读了越来越多关于 WSGI 有多好的文章 但没有真正理解为什么 那么我为什么要切换到它呢 有什么好处 这很难吗 学习曲线值得吗 为了用 Python 开发复杂的 Web 应用程序 您可能会使用更全面
  • 在 Windows 上使用带有对数刻度的 matplotlib 时出现 Unicode 错误

    我正在使用 python 2 6 和 matplotlib 如果我运行 matplotlib 库页面中提供的示例 histogram demo py 它工作正常 我已经大大简化了这个脚本 import numpy as np import
  • 以编程方式使用 Sphinx 特定指令解析 .rst 文件

    我希望能够在 Python 中解析基于 sphinx 的 rst 以便进一步处理和检查 就像是 import sphinx p sphinx parse path to file rst do something with p 似乎在 do
  • PIL - 需要抖动,但限制调色板会导致问题

    我是 Python 新手 正在尝试使用 PIL 来执行 Arduino 项目所需的解析任务 这个问题涉及到Image convert 方法以及调色板 抖动等选项 我有一些硬件能够一次仅显示 16 种颜色的图像 但它们可以指定为 RGB 三元
  • 导入错误:无法导入名称“时间戳”

    我使用以下代码在 python 3 6 3 中成功安装了 ggplot conda install c conda forge ggplot 但是当我使用下面的代码将其导入笔记本时 出现错误 from ggplot import Impor
  • 计算互相关函数?

    In R 我在用ccf or acf计算成对互相关函数 以便我可以找出哪个移位给我带来最大值 从它的外观来看 R给我一个标准化的值序列 Python 的 scipy 中是否有类似的东西 或者我应该使用fft模块 目前 我正在这样做 xcor
  • python 日志记录会刷新每个日志吗?

    当我使用标准模块将日志写入文件时logging 每个日志会分别刷新到磁盘吗 例如 下面的代码会将日志刷新 10 次吗 logging basicConfig level logging DEBUG filename debug log fo

随机推荐

  • 如何允许列表append()方法返回新列表

    我想做这样的事情 myList 10 20 30 yourList myList append 40 不幸的是 列表追加不会返回修改后的列表 那么 我怎样才能允许append返回新列表 See also Why do these list
  • 不使用 coreLocation 框架的 iPhone 位置

    我需要在不使用 coreLocation 框架的情况下获取 iphone 位置 有没有什么解决办法呢 等待你的回复 提前致谢 使用私有 API 和lot努力程度 是的 在实践中 没有
  • 如何通过 pandas 0.19.2 中其他行的唯一对来标记行

    我有一个数据框df像这样但更大 ID 0 ID 1 location 0 a b 1 1 a c 1 2 a b 0 3 d c 0 4 a c 0 5 a c 1 我想添加一个列来标识前两个 例如 ID 0 ID 1 location g
  • 如何使用锚标记下载文件

    为什么这不起作用 下载 html a href jsplogin jar download a The jsplogin jar文件位于同一文件夹中download html file 当我单击下载链接时jsplogin jar应该下载 但
  • Google 电子钱包服务器是否会对每次订阅续订进行回调?

    我有一个使用订阅 API 的钱包集成 Web 产品 如 中所述文档 模拟了首次付款和取消 一切正常 Google 电子钱包服务器是否会在每次定期续订时调用服务器 显然客户端当时可能不在线 定期付款自动发生 无需回调至商家服务器 处理定期付款
  • 设置 UILabel 行距

    如何修改多行中的行间距 行距 UILabel Edit 显然NSAttributedString在 iOS 6 及更高版本上可以做到这一点 而不是使用NSString要设置标签的文本 请创建一个NSAttributedString 为其设置
  • 将自定义对象从 JList 拖放到 JLabel 中

    我有一个包含自定义对象 ArrayList 的 JList 并且我正在尝试创建拖放到字段中的操作 我无法理解如何打包和接收 Transferable 中的对象 据我所知 这大约是 import java awt import java aw
  • 计算 SQL Server 中不包括重叠时间和中断的总时间

    从选择查询的开始时间和结束时间列表中 我需要找出不包括重叠时间和休息时间的总时间 StartTime EndTime 2014 10 01 10 30 00 000 2014 10 01 12 00 00 000 90 mins 2014
  • 来自多个变量的 Pivot_wider 函数(tidyr r 包)

    我想将数据框置于宽格式中 考虑两个变量作为标准 甚至可能是不必要的 但我对此发表评论是因为原始 df 是 480 行和几个子级别 这是返回一个错误 library tidyr library dplyr df lt structure li
  • 如何在 JavaFX css 中将 -fx-max-width 设置为 USE_PREF_SIZE?

    我正在编写一个 JavaFX 8 应用程序 想知道是否可以将 例如 按钮的最小或最大宽度设置为USE PREF SIZE通过CSS 班上Region定义USE PREF SIZE as Double NEGATIVE INFINITY 但是
  • 如何迭代(键,值)boost::python:dict

    我怎样才能迭代C 在我的升压 python 字典 我需要key and value在每个循环中 我的尝试是这样的 for auto x MyBoostPythonDict iteritems determine key determine
  • SQLSTATE[HY093]:参数号无效[重复]

    这个问题在这里已经有答案了 我在执行搜索查询时遇到一些问题 我收到这个错误 SQLSTATE HY093 参数号无效 这是我的代码
  • 执行 R 脚本时 MS-SQL 服务器中的“无效 BXL 流”

    我正在将 R 脚本作为 ms sql 存储过程执行 我正在尝试使用 geosphere 包 但是当我执行存储过程时 出现错误 无效的 BXL 流 并且执行停止 该软件包已安装在计算机上 只需加载该软件包就会导致此错误 即library ge
  • 复制链表C中的节点

    我正在尝试复制链表中的节点 我不确定我是否做得正确 我尝试制作测试用例 但没有成功 如果有人可以告诉我哪里出了问题以及我做对了什么 以及测试我的代码的最佳方法是什么 struct node int id char side int quan
  • 如何检查 SymPy 表达式是否具有解析积分

    我想解决我的另一个问题here因此 每当 和 积分没有解析 符号解时 我需要 sympy 返回错误 例如 如果我尝试 from sympy import init printing use unicode False wrap line F
  • 如何从 Excel 的数据列中删除字符

    我正在格式化收到的一些数据 我在 A 列中有几百个学生的名字 由于某种奇怪的原因 有一个随机的 随机放置在名称中 我想以编程方式删除所有 所有名字中的字符 For x 2 To 300 Dim strStudent as String ho
  • 如何将外部自定义 URL 添加到 woocommerce 端点

    我想将自定义端点 URL 添加到 woocommerce 上的我的帐户页面 是否可以 因此 当客户点击此链接时 他们将重定向到我的 YouTube 页面 function custom wc end point if class exist
  • 将段落拆分成句子

    我有一大堆文字 例如 我想将一个段落分成句子 但有一个问题 我的段落包括诸如 Jan 13 2014 之类的日期 诸如 U A E 之类的单词以及诸如 2 2 之类的数字 我该如何分割这个 Output I want to split a
  • 排列矩阵的行和列

    假设我有以下矩阵 数组 array 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 0 1 0 0 1 1 1 0 0 我想应用以下排列 1 gt 5 2 gt 4 结果最终应该是 array 1 1 1 0 0 1 0 1
  • 如何确定文件、函数和行号?

    在 C 中 我可以像这样打印调试输出 printf FILE s FUNC s LINE d LOG s n FILE FUNCTION LINE logmessage 我怎样才能在Python中做类似的事情 有一个名为inspect它提供