当前位置: 首页 > news >正文

网站数据库是什么意思深圳高端网站建设电话

网站数据库是什么意思,深圳高端网站建设电话,怎么做移动网站,app制作一个需要多少钱python多进程的使用有两种方式: multiprocessingconcurrent的使用方式 multiprocessing的使用方式 定义线程池的数量开始处理,结果回调 下面以多进程下载图像为例: import multiprocessing import requests from io import BytesIO from…

python多进程的使用有两种方式:

  • multiprocessing
  • concurrent的使用方式

multiprocessing的使用方式

  • 定义线程池的数量
  • 开始处理,结果回调

下面以多进程下载图像为例:

import multiprocessing
import requests
from io import BytesIO
from PIL import Image, ImageFont, ImageDraw# 多进程函数下载图像
def multiprocess_download_images(urls, num_process=10, download_dir="./tmp_check"):''':param urls: 下载:param num_process: 开启的线程数:param download_dir::param try_nums::return:'''os.makedirs(download_dir, exist_ok=True)if not isinstance(urls, list):urls = [urls]download_pools = multiprocessing.Pool(processes=num_process)for url in urls:download_pools.apply_async(download_single_image, (url, download_dir, 1,), callback=call_back)download_pools.close()download_pools.join()if len(os.listdir(download_dir)) == 0:return Falsereturn True# 下载单个图像
def download_single_image(url, download_dir, timeout=0.5, try_num=3):attempt = 0os.makedirs(download_dir, exist_ok=True)while attempt < try_num:try:response = requests.get(url, timeout=timeout)image = Image.open(BytesIO(response.content))save_path = os.path.join(download_dir, os.path.basename(url))image.save(save_path)return Trueexcept Exception as e:attempt = attempt + 1return False# 多进程的后处理函数
def call_back(return_value):print("return_value:", return_value)if __name__ == "__main__":start_time = time.time()url = "https://huichuan-mc.sm.cn/210172767/2302123579a068b4ee35f0bf9a59a4cb48b673.png"urls = ["https://huichuan-mc.sm.cn/210172767/2302123579a068b4ee35f0bf9a59a4cb48b6731.png","https://huichuan-mc.sm.cn/210172767/230711e31648e9e86837981560794eb42b0c6a.png","https://huichuan-mc.sm.cn/210172767/231228ea9df9bb65549874ac9acfd6a13e7c44.png","https://huichuan-mc.sm.cn/210172767/23122876aec3054982c591ca6bc8af5af877ee.png","https://huichuan-mc.sm.cn/210172767/23122833f8f22e43b7d9d5b6c90c617e482a57.png","https://huichuan-mc.sm.cn/210172767/2212205c641bec29a2a0ba0d6fca100b8e86dc.png","https://huichuan-mc.sm.cn/210172767/2212212aadd8efa1e2e20e14bb3f1a757b2cb2.png","https://huichuan-mc.sm.cn/210172767/231227d1234e9381098211acb3b6b412a2b3ab.jpeg","https://huichuan-mc.sm.cn/210172767/231212a9c43a82e881224338cb4167a98cdeb3.png",]download_dir = "./tmp"multiprocess_download_images(urls, download_dir="./tmp")

看有的用法是这样的:

async_result = download_pools.apply_async(download_single_image, (url, download_dir, 1,), callback=call_back)
result = async_result.get()

但上面的这个用法会阻塞进程直到进程完成直到可用,这里不推荐使用。使用上面的demo即可

concurrent的使用方式

  • 定义好基本的处理函数即可
import requests
import concurrent.futures
from io import BytesIO
from PIL import Image, ImageFont, ImageDrawdef multiprocess_download_images(urls, num_process=10, download_dir="./tmp_check"):with concurrent.futures.ProcessPoolExecutor(max_workers=num_process) as executor:futures = [executor.submit(download_single_image, url, download_dir, timeout=0.5, try_num=3)for url in urls]# 下面的代码是进行结果的处理for future in concurrent.futures.as_completed(futures):stat = future.result()if not stat:print(f"ERROR info: 子句语音合成有失败,请检查语音合成")if len(os.listdir(download_dir)) == 0:return Falsereturn Truedef download_single_image(url, download_dir, timeout=0.5, try_num=3):attempt = 0os.makedirs(download_dir, exist_ok=True)while attempt < try_num:try:response = requests.get(url, timeout=timeout)image = Image.open(BytesIO(response.content))save_path = os.path.join(download_dir, os.path.basename(url))image.save(save_path)return Trueexcept Exception as e:attempt = attempt + 1return Falseif __name__ == "__main__":start_time = time.time()url = "https://huichuan-mc.sm.cn/210172767/2302123579a068b4ee35f0bf9a59a4cb48b673.png"urls = ["https://huichuan-mc.sm.cn/210172767/2302123579a068b4ee35f0bf9a59a4cb48b6731.png","https://huichuan-mc.sm.cn/210172767/230711e31648e9e86837981560794eb42b0c6a.png","https://huichuan-mc.sm.cn/210172767/231228ea9df9bb65549874ac9acfd6a13e7c44.png","https://huichuan-mc.sm.cn/210172767/23122876aec3054982c591ca6bc8af5af877ee.png","https://huichuan-mc.sm.cn/210172767/23122833f8f22e43b7d9d5b6c90c617e482a57.png","https://huichuan-mc.sm.cn/210172767/2212205c641bec29a2a0ba0d6fca100b8e86dc.png","https://huichuan-mc.sm.cn/210172767/2212212aadd8efa1e2e20e14bb3f1a757b2cb2.png","https://huichuan-mc.sm.cn/210172767/231227d1234e9381098211acb3b6b412a2b3ab.jpeg","https://huichuan-mc.sm.cn/210172767/231212a9c43a82e881224338cb4167a98cdeb3.png",]download_dir = "./tmp"multiprocess_download_images(urls, download_dir="./tmp")

另外concurrent还有多线程的使用方式,下面附上,实际上python的多线程是伪多线程,这里建议使用多进程

def multiprocess_download_images(urls, num_process=10, download_dir="./tmp_check"):with concurrent.futures.ThreadPoolExecutor(max_workers=num_process) as executor:futures = [executor.submit(download_single_image, url, download_dir, timeout=0.5, try_num=3)for url in urls]# 下面的代码是进行结果的处理for future in concurrent.futures.as_completed(futures):stat = future.result()if not stat:print(f"ERROR info: 子句语音合成有失败,请检查语音合成")if len(os.listdir(download_dir)) == 0:return Falsereturn True
http://www.yayakq.cn/news/330952/

相关文章:

  • php 茶叶网站建设发帖平台
  • 欧美模板网站建设佛山高端网站制作
  • 沈阳网站开发制作在线制作电子公章生成器
  • 网站建设生意怎么样战鼓网h5在线制作
  • 网站空间和流量网站建设有证书吗
  • 精品网站建设哪家公司服务好安徽美丽乡村建设网站
  • 整站优化排名手表网站排行榜
  • 网站集约化承接电商网站建设
  • 中国百强城市榜单seo优化检测
  • php网站开发流程西安市建设银行网站
  • 有了域名怎么做网站网络公司项目
  • 网站备案关闭网站国外专门用于做网站图片的
  • 做图的模板下载网站有哪些内容学做网站基础知识
  • 做网站赚钱方法乐成高端网站建设
  • 云梦县建设安全网站互联网营销推广方案
  • 网站建设条款网站开发行业代码
  • 做面包的公司网站丽水市住房和城乡建设局网站
  • 深圳建设工程交易服务网南山网站站内优化方案
  • 网站备案变更公司名称做一件代发网站
  • 网站怎么做会被收录东莞常平邮编是多少
  • 微商城网站建设代理商有关电子商务网站建设与维护的书籍
  • 如何做一网站经典设计产品
  • 微信网站界面芜湖注册公司流程和费用
  • 网站可以做哪些广告语金坛网站建设报价
  • 给企业做网站运营直播平台如何搭建
  • 网站页面架构怎么写wordpress 简介
  • 海诚网站建设seo免费诊断联系方式
  • 怎么写网站文案wordpress调用用户头像
  • 我的网站模板长沙网站制作收费明细表
  • 网站开发的实践报告基础微网站开发代理商