Python 打印每个线程唯一的语句

Python 打印每个线程唯一的语句,python,multithreading,python-multithreading,Python,Multithreading,Python Multithreading,我想知道我是否可以打印出每个线程所特有的东西,比如每个打印语句中的一个数字,来告诉它来自哪个线程。以下是我的线程实现: import requests import time import threading import json from classes.logger import Logger from classes.cart import Cart from classes.captcha import Captcha from classes.queue import Queue f

我想知道我是否可以打印出每个线程所特有的东西,比如每个打印语句中的一个数字,来告诉它来自哪个线程。以下是我的线程实现:

import requests
import time
import threading
import json
from classes.logger import Logger
from classes.cart import Cart
from classes.captcha import Captcha
from classes.queue import Queue
from classes.tools import Tools



if __name__ == '__main__':
    session = requests.Session()
    lock = threading.Lock()
    tools = Tools()
    config = tools.load('config/config.json')
    log = Logger().log
    q = Queue()
    cart = Cart(session, lock)

    api_key = config['key']['2captcha']
    captcha = Captcha(api_key)
    queue = Queue()

    # Small, Medium, Large, one size
    t1 = threading.Thread(target=cart.add_to_cart, args=(['carabiner','palace','silver'],'one size'))
    t2 = threading.Thread(target=cart.add_to_cart, args=(['t-shirt','palace','bong'],'small'))
    t1.start()
    t2.start()
    t1.join()
    t2.join()

    cart.check_cart()
将\u添加到\u购物车方法:

class Cart:

    def add_to_cart(self,keywords,size):
        print("blah blah blah")
是否可以打印以下内容:

"1 - blah blah blah"
"2 - blah blah blah"

我可以想到两种方法,1:
您可以简单地向线程传递一个ID参数,如下所示

t1 = threading.Thread(target=cart.add_to_cart, args=(['carabiner','palace','silver'],'one size', '1'))


class Cart:

  def add_to_cart(self,keywords,size, id):
      print(id + "- blah blah blah")  
或者2,如果您计划启动多个线程并且不想标识所有线程,则使用该值

class Cart:

  def add_to_cart(self,keywords,size):
      print(threading.get_ident() + "- blah blah blah")  

您的输入有点错误:缩进->识别。@IljaEverilä谢谢!只是习惯于输入缩进。要扩展到这一点,还可以研究如何重载print()函数,这样就不必总是在字符串中包含id。您可以重载,也可以创建自己的打印功能。