如何在Python中获取线程ID?
我有一个使用多线程的Python程序,还有一个工具函数writeLog(message)
,它会把时间戳和消息写到日志文件里。不过,生成的日志文件没有显示是哪个线程在发出哪个消息。
我想让writeLog()
能够在消息中添加一些信息,以便识别是哪个线程在调用它。显然,我可以让线程把这些信息传递进来,但那样会麻烦很多。有没有类似于os.getpid()
的东西,可以用来获取线程的信息呢?
8 个回答
46
这个功能现在在Python 3.8及以上版本中得到了支持哦 :)
你现在可以使用:threading.get_native_id()
https://github.com/python/cpython/commit/4959c33d2555b89b494c678d99be81a65ee864b0
370
threading.get_ident()
这个函数可以用来获取当前线程的身份标识,或者你也可以使用 threading.current_thread().ident
(如果你用的是 Python 2.6 之前的版本,可以用 threading.currentThread().ident
)。