首页 > 编程语言 >python 多并发

python 多并发

时间:2024-04-22 16:58:16浏览次数:21  
标签:__ task file python self 并发 json chat

多并发实现

 1 #!/usr/bin/python
 2 # -*- coding: utf-8 -*-
 3 
 4 """
 5 @File    :   .py
 6 @Description: 
 7 @Time    :   2024/04/22 10:00:00
 8 @Author  :   
 9 @Version :   1.0
10 @Contact :   [email protected]
11 """
12 
13 import os
14 import re
15 import json
16 import concurrent.futures
17 
18 
19 class Test(object):
20     def __init__(self):
21         self.new_ret = []
22         self.token = "xxx"
23 
24     def load_json(self, file_path):
25         with open(file_path, 'r') as file:
26             case_list = json.loads(file.read())
27         return case_list
28 
29     def process_data(self, every_task):
30         print("[%s] 开始..." % str(every_task))
31         task_query = every_task.get("what_query", None)
32 
33         if not task_query:
34             return False
35         chat_res = Chat().chat(token=self.token, messages_content=task_query)
36         if chat_res.status_code != 200:
37             return False
38         chat_msg = chat_res.json()["a1"]
39         self.new_ret.append({"what": task_query, "response": chat_msg})
40         print("[%s] 结束..." % str(every_task))
41 
42     def get_chat_response(self, json_file):
43         json_case_list = self.load_json(file_path=json_file)
44 
45         with concurrent.futures.ThreadPoolExecutor(max_workers=5) as executor:
46             results = executor.map(self.process_data, json_case_list)  # 并发处理数据集
47 
48         print("完成.")
49 
50 
51 if __name__ == "__main__":
52     json_file = "data/mm.json"
53     TestPipeline().get_chat_response(json_file=json_file)

 

标签:__,task,file,python,self,并发,json,chat
From: https://www.cnblogs.com/sunshine-blog/p/18150944

相关文章

  • Python实现下载文件的三种方法
    下面来看看三种方法是如何来下载zip文件的:方法一: importurllibprint"downloadingwithurllib"url='http://www.jb51.net//test/demo.zip'urllib.urlretrieve(url,"demo.zip") 方法二: importurllib2print"downloadingwithurllib2"u......
  • 使用pyppeteer 下载chromium 报错 python pyppeteer 调用谷歌翻译api
    https://registry.npmmirror.com/binary.html?path=chromium-browser-snapshots/Win_x64/手动下载安装包 修改文件C:\Users\luyan\AppData\Local\Programs\Python\Python312\Lib\site-packages\pyppeteer\chromium_downloader.py #修改这段代码defdownload_chromium()-......
  • Python实现批量下载文件的示例代码
    前言下载文件是我们在日常工作中常常要做的一件事情。当我们需要从互联网上批量下载大量文件时,手动一个一个去下载显然不够高效。为了解决这个问题,我们可以使用Python编写一个批量下载文件的脚本,让它自动帮我们下载文件。同时,为了避免下载过程中被网站禁止访问,我们也可以运用代理......
  • Python数据容器
    1.容器定义:容纳多份数据的数据类型。Python的数据容器可以理解为C++中的数据结构,这些数据结构的方法多为“增删改查”。容器类型:列表、元组、字符串、2.列表list列表可理解为数组,下标从0开始。定义定义代码name_list=['zhangsan','lisi','wangwu']#字......
  • 接口自动化Python+requests踩坑记录
    问题描述同一个接口,传参相同,用postman,jmeter等接口工具都能正常访问,后台也能正常返回数据,但是用requests.post()调用就会返回400jmeter传参以及响应这是一个登录接口,如图所示的传参,是可以正常登录的  postman传参以及响应可以看到,两个工具的传参不一样,但是也是同样可以正......
  • day19-并发编程(上)
    1.进程和线程先来了解下进程和线程。类比:一个工厂,至少有一个车间,一个车间中至少有一个工人,最终是工人在工作。一个程序,至少有一个进程,一个进程中至少有一个线程,最终是线程在工作。上述串行的代码示例就是一个程序,在使用pythonxx.py运行时,内部就创建一个进程(主进程),在进......
  • ArcPy自动绘制大量地图并设置地图要素:Python
      本文介绍基于Python语言中ArcPy模块,实现ArcMap自动批量出图,并对地图要素进行自定义批量设置的方法。1任务需求  首先,我们来明确一下本文所需实现的需求。  现有通过Python基于Excel数据加以反距离加权空间插值并掩膜图层所绘制的北京市在2019年05月18日00时至23时(其中......
  • 《最新出炉》系列初窥篇-Python+Playwright自动化测试-38-如何截图-下篇
    1.简介这个系列的文章也讲解和分享了差不多三分之一吧,突然有小伙伴或者童鞋们问道playwright有没有截图的方法。答案当然是:肯定有的。宏哥回过头来看看确实这个非常基础的知识点还没有讲解和分享。那么在这个契机下就把它插队分享和讲解一下。Playwright提供了一个截屏的API:page.......
  • python使用scap构建镜像流量
    importpytestimportrequestsimporttimefromscapy.allimport*@pytest.mark.usefixtures("get_config_instance")deftest_76_vlan(get_config_instance):#DefineethernetandIP/TCPlayerseth=Ether()ip=IP(src='10.0.0.2&......
  • Python pytorch 坐标系变换与维度转换
    前言深度学习中经常要用到张量坐标系变换与维度转换,因此记录一下,避免混淆坐标系变换坐标系变换(矩阵转置),主要是调换tensor/array的维度pytorchimporttorchdefinfo(tensor):print(f"tensor:{tensor}")print(f"tensorsize:{tensor.size()}")print(f"tenso......