如何在Python中获取线程id?

2024-03-02

我有一个多线程Python程序和一个实用函数,writeLog(message),写出时间戳,后跟消息。不幸的是,生成的日志文件没有给出哪个线程正在生成哪个消息的指示。

我想writeLog()能够在消息中添加一些内容来识别哪个线程正在调用它。显然我可以让线程传递这些信息,但这需要更多的工作。是否有一些线程相当于os.getpid()我可以用吗?


threading.get_ident() https://docs.python.org/3/library/threading.html#threading.get_ident作品,或threading.current_thread().ident https://docs.python.org/3/library/threading.html#threading.current_thread (or threading.currentThread().ident对于 Python

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

如何在Python中获取线程id? 的相关文章

随机推荐

  • Powershell 编码默认输出

    我在 TFS 构建中运行的 powershell 脚本遇到以下问题 这两个问题都与 TFS 无关 可以使用简单的 powershell 命令行窗口重现 1 与TFS完全无关 看来 Powershell 在管道方面不喜欢德语元音变音 1a 这
  • 来自 XElement 的内部文本? [复制]

    这个问题在这里已经有答案了 我很难从 XElement 的内部文本中获取正确的值 首先 这是我正在使用的 XML 这是我们工作流程中某个流程产生的生产数据的副本 换句话说 我无法更改 XML 只能解析它 我想要获取其内部文本的元素内部包含看
  • 使用 JavaScript 从 Amazon Cognito API 中详尽选择所有用户的安全且可扩展的方法是什么?

    我是一个小团队的一员 在一个相当小的网站上工作 该网站拥有用户帐户 此时大约有100名用户 我们正在使用 Amazon Cognito 进行用户管理 我们的网站上有一个摘要页面 其中显示所有用户和各种属性的列表 表格 然而 有一个硬性限制
  • 使用 Go 和 Cloudformation 部署 AWS Lambda

    我正在自动部署基于 Go 的 AWS Lambda 但遇到了问题 我的 AWS 无服务器模板是 AWSTemplateFormatVersion 2010 09 09 Transform AWS Serverless 2016 10 31
  • 鼠标滚轮在容器内滚动 - 捕获事件

    我有一个带有内部可滚动 DIV 的页面 当我将鼠标悬停在它上面并尝试用鼠标滚轮滚动它时 该 DIV 的内容会根据需要滚动 而主页保持不变 但是当我到达 DIV 滚动区域的底部时 整个页面开始滚动 我尝试在该 div 上设置事件处理程序 但是
  • 如何在松散耦合的应用程序中将状态信息传递到 GUI

    我第一次尝试使用依赖注入来松散地耦合一个新应用程序 我的问题是如何将状态信息传递回用户 在过去 所有代码都塞进 GUI 中 虽然非常混乱且难以维护 但非常容易 课程的安排是这样的 请不要检查我的 UML 技能 它们不存在 如果我们走右手边
  • Google AMP 脚本与 jquery window.scroll 冲突

    我正在尝试遵循 Google 建议的 AMP 指南 ampproject org https www ampproject org 但是一旦我添加了他们的 js 脚本 jQuery 滚动就停止工作 有谁知道为什么以及如何解决它 AMP HT
  • 如何在 VS 单元测试中包含示例数据文件?

    我想要针对示例 XML 文件运行单元测试 我应该如何将这些文件暴露给单元测试 我尝试过使用内容构建操作 但我无权访问应用程序上下文 因此 GetContentStream 已退出 我知道我可以将 DataContext 用于 SQL 数据库
  • Setter 目标名称无法识别

    我是 WPF 的初学者 我尝试使用 DataTrigger 编写 WPF 部分 这里需要逻辑 If the variable iBottleCount gt 10 then make the background of a label gr
  • 我何时以及为什么应该清理 XCode 中的构建

    每隔一段时间 解决 XCode 中严重问题的方法就是点击 Product Clean 这似乎会清除一些缓存 问题就会消失 但它实际上在做什么 更重要的是 我应该什么时候这样做 在处理核心数据时似乎更频繁地需要它 但我并没有真正跟踪它 作为一
  • 基于比较的排序技术的局限性

    大多数需要对数据进行排序的场景都会选择比较排序 合并排序 快速排序 插入排序和其他比较排序等技术可以处理不同的数据类型 并且效率的下限为 O nLog n 我的问题是 基于比较的排序技术有任何限制吗 有哪些场景会使用非比较排序技术 chee
  • 将两个现有地块合并为一个地块

    我还没有真正尝试过任何方法来做到这一点 但我想知道是否有一种方法可以将已经存在的两个图合并到一个图中 任何投入将不胜感激 这是一个完整的最小工作示例 它介绍了从多个图中提取和组合数据所需的所有步骤 import numpy as np im
  • Javax Websocket 由于非法 UTF-8 序列而关闭

    我正在使用 javax websocket API 用 Ja va 编写一个 Websocket 客户端 并且org glassfish tyrus作为实施 通常一切正常 但有时 当我收到非常大的字符串时 连接会以神秘的 非法 UTF 8
  • 如何向 Code::Blocks 编译器添加 C++11 支持?

    我正在编写一些代码 需要 C 11 支持我的 Code Blocks 12 11 我使用的是 MingW 附带的默认 GNU GCC 编译器 我有什么办法可以做到这一点吗 Go to Toolbar gt Settings gt Compi
  • 在代码隐藏中为 xaml 元素设置多重绑定

    我有以下有效的 XAML 代码 它基本上绑定了几个属性来计算用户控件的最终位置
  • 添加自定义 Video.js 控制栏按钮

    我已经在 video js 上工作了大约一天 所以对于这个东西我是一个真正的新手 今天我只想添加一个在两个视频之间切换的按钮 我用 jQuery 快速简单地完成了它 但我宁愿用 javascript 来更好地理解 video js 的整体
  • Linux vi 箭头键在插入模式下损坏

    我的箭头键在家里的插入模式下的 vi 中不起作用 它们只是插入一个换行符和一个大写字母 例如 A 有办法解决这个问题吗 我猜你正在使用 vim 因为它被标记为 Linux 尝试 set nocompatible 您可能想通过添加此命令来配置
  • 错误:原因:com.android.sdklib.repository.FullRevision

    我想尝试从 AS 2 0 即时运行 为此 我必须将构建插件更新为 2 0 0 alpha6 但执行此操作时 我无法再对项目进行 gradle 同步 因为我得到 Gradle myProject 项目刷新失败 错误 原因 com androi
  • Python:未检测到已安装的 selenium 包

    我正在使用Anaconda http continuum io downloadspython 发行版并想使用selenium http selenium googlecode com svn trunk docs api py index
  • 如何在Python中获取线程id?

    我有一个多线程Python程序和一个实用函数 writeLog message 写出时间戳 后跟消息 不幸的是 生成的日志文件没有给出哪个线程正在生成哪个消息的指示 我想writeLog 能够在消息中添加一些内容来识别哪个线程正在调用它 显