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。您可以重载,也可以创建自己的打印功能。