原文链接:老五网创圈

Python是一门非常适合处理数据和自动化完成重复性工作的编程语言,我们在用数据训练机器学习模型之前,通常都需要对数据进行预处理,而Python就非常适合完成这项工作,比如需要重新调整几十万张图像的尺寸,用Python没问题!你几乎总是能找到一款可以轻松完成数据处理工作的Python库。

然而,虽然Python易于学习,使用方便,但它并非运行速度最快的语言。默认情况下,Python程序使用一个CPU以单个进程运行。不过如果你是在最近几年配置的电脑,通常都是四核处理器,也就是有4个CPU。这就意味着在你苦苦等待Python脚本完成数据处理工作时,你的电脑其实有75%甚至更多的计算资源就在那闲着没事干!

今天我(作者Adam Geitgey——译者注)就教大家怎样通过并行运行Python函数,充分利用你的电脑的全部处理能力。得益于Python的 concurrent.futures 模块,我们只需3行代码,就能将一个普通数据处理脚本变为能并行处理数据的脚本,提速4倍。

普通Python处理数据方法

比方说,我们有一个全是图像数据的文件夹,想用Python为每张图像创建缩略图。

下面是一个短暂的脚本,用Python的内置glob函数获取文件夹中所有JPEG图像的列表,然后用Pillow图像处理库为每张图像保存大小为128像素的缩略图:

import glob

import os

from PIL import Image

def make_image_thumbnail(filename):

# 缩略图会被命名为"_thumbnail.jpg"

base_filename, file_extension = os.path.splitext(filename)

thumbnail_filename = f"{base_filename}_thumbnail{file_extension}"

# 创建和保存缩略图

image = Image.open(filename)

image.thumbnail(size=(128, 128))

image.save(thumbnail_filename, "JPEG")

return thumbnail_filename

# 循环文件夹中所有JPEG图像,为每张图像创建缩略图

for image_file in glob.glob("*.jpg"):

thumbnail_file = make_image_thumbnail(image_file)

print(f"A thumbnail for {image_file} was saved as {thumbnail_file}")

这段脚本沿用了一个简单的模式,你会在数据处理脚本中经常见到这种方法:

首先获得你想处理的文件(或其它数据)的列表

写一个辅助函数,能够处理上述文件的单个数据

使用for循环调用辅助函数,处理每一个单个数据,一次一个。

咱们用一个包含1000张JPEG图像的文件夹测试一下这段脚本,看看运行完要花多长时间:

$ time python3 thumbnails_1.py

A thumbnail for 1430028941_4db9dedd10.jpg was saved as 1430028941_4db9dedd10_thumbnail.jpg

[... about 1000 more lines of output ...]

real 0m8.956s

user 0m7.086s

sys 0m0.743s

运行程序花了8.9秒,但是电脑的真实工作强度怎样呢?

转载于:https://www.cnblogs.com/laowuchuangye/p/10809155.html

怎样用python写引流脚本相关推荐

  1. python引流_怎样用python写引流脚本

    Python是一门非常适合处理数据和自动化完成重复性工作的编程语言,我们在用数据训练机器学习模型之前,通常都需要对数据进行预处理,而Python就非常适合完成这项工作,比如需要重新调整几十万张图像的尺 ...

  2. python制作引流脚本-怎样用python写引流脚本

    Python是一门非常适合处理数据和自动化完成重复性工作的编程语言,我们在用数据训练机器学习模型之前,通常都需要对数据进行预处理,而Python就非常适合完成这项工作,比如需要重新调整几十万张图像的尺 ...

  3. 怎么写安卓手机脚本_利用xposed虚拟真实手机环境,建立引流脚本矩阵

    前些天,一个网友跑过来和我说 . 他在网上购买了一个APP引流脚本,交了几百块钱,别人告诉他有数百种脚本可以用,我当时就惊讶了 .世界竟然有这么好的事 . 我顺便和他说.买了之后,也给我一份,我也用用 ...

  4. python引协议引流_什么是引流脚本,什么是引流协议

    ​​​APP推广​中引流软件主要有两种,一种是脚本,一种是协议 ​ [引流脚本] 脚本,最主要的功能就是代替我们手工去完成一些基本动作,文件后缀通常是.apk,所有通常运行在安卓模拟器上,也有部分是运 ...

  5. 捡对象引流脚本 内容_对象和索引流

    捡对象引流脚本 内容 我本来要写一篇关于如何将流与每个元素的索引混合的文章,但是Baeldung上的人们已经很好地涵盖了这个主题 ! 鉴于我是他们编辑团队的一员,我为他们/我们感到自豪. 有趣的是,特 ...

  6. 自动点击屏幕脚本代码_原来这么简单,一分钟学会引流脚本

    前言 前段时间偶然在朋友圈看见了一段自动化引流的视频,感觉特别溜,于是决定下来琢磨一下.发现原来实现起来特别简单,下面和大家分享一下,如何徒手写一个自动化引流脚本.下面图文虽然多,但都非常简单. 项目 ...

  7. php开发uki引流脚本,UKI引流脚本

    UKI引流脚本是一款适用于UKI社交APP的全自动引流软件,近期引流的重要性当然不必多说,引流可以实现许多营销或者推广目的,轻松搞笑投资低.UKI引流脚本免费带给大家,功能全面,全自动省时省心,感兴趣 ...

  8. autojs入门视频教程,Auto.js Pro安卓全分辨率免ROOT引流脚本开发零基础到进阶教程,飞云脚本学院2019年全力打造高清品质,不容错过的年度大作

    课程大纲(更新中-) 基础课程 [已完成]01安装Visual Studio Code(时长9分33秒)在线观看 [已完成]02安装Auto.js Pro(时长5分48秒)在线观看 [已完成]03解读 ...

  9. 关于引流脚本,你了解的引流脚本的优势有哪些?

    如今很多朋友都对脚本引流这行有非常大的兴趣.其实目前的引流脚本前景我就可以洋洋洒洒写上成千上万字的概述.当然了,关于引流脚本这个事情,不是属于互联网的行业的朋友可能还不太清楚,但是对于经常在互联网上泡 ...

最新文章

  1. 从源码分析DEARGUI之add_drag_float和4
  2. python的数值类型和运算符_Python中的基本数据类型和运算符,python
  3. VF02 会计凭证过账时间
  4. [Bzoj4289]PA2012 Tax(Dijkstra+技巧建图)
  5. celery4不支持djcelery
  6. Azkaban运行报错:我找到的几个错误问题
  7. TensorFlow语义分割套件开源了ECCV18旷视科技BiSeNet实时分割算法
  8. 《Python游戏趣味编程》 第1章 Python与开发环境介绍
  9. pache tomcat慢速HTTP拒绝服务攻击安全问题解决办法
  10. 大数据分块_谷歌卫星影像金字塔分块下载原理说明
  11. Activity/Fragment最强生命周期总结
  12. MATLAB中调用eemd函数
  13. 制作一个简单的大数据看板(FineReport-帆软)
  14. OMA DRM代理安全性思考
  15. 《你若安好,便是晴天》
  16. “POW'ER 2020 DEFI 创新者大会” | Conflux CTO 伍鸣畅谈公链如何成为 DeFi 的完美世界...
  17. Zookeeper 客户端之 Curator
  18. 浓淡相宜间,是灵魂的默契;
  19. 汽车行业,怎么样通过论坛快速引流?
  20. 【场景化解决方案】审批费用单自动同步至畅捷通

热门文章

  1. 用Ubuntu16.04的vi编辑器编辑qt下的默认文件(/usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf)
  2. 在 Mac 上重命名 Apple Magic Mouse的方法!
  3. proe PTC Pro_Engineer wildfire4.0 M040野火版 DVD32位
  4. html怎么把字做成动画效果,利用纯CSS实现动态的文字效果实例
  5. 搭建数字孪生车间需要哪些关键技术?
  6. 【电子取证:FTK Imager 篇】DD、E01系统镜像动态仿真
  7. 欧尼酱讲JVM(12)——本地方法接口
  8. GD32定时器——单个定时器下多个通道PWM捕获
  9. 怎样做才能得到自己想要的
  10. TP开发优秀开源的付费内容视频课程教学管理系统源码