python 验证码_4行Python代码生成图像验证码

04ee937ee15ae22b39a2fb8f63bd19f4.gif

点击上方蓝色字体,关注我们

最近无意看到网上有人使用Python编写几十行代码生成图像验证码,感觉很是繁琐,这里为各位朋友推荐两种方法,使用4行Python代码即可生成验证码。

4025d5faeadd460199a085d33d9e8287.png

1

captcha库

第1步:安装captcha库

pip install captcha

安装成功效果如下所示: 

8b77117ed47c8dc029664d1a64ce851d.png

 第2步:3行代码生成图像验证码

from captcha.image import ImageCaptchaimage = ImageCaptcha().generate_image("9527")image.show()

效果如下所示:

6aa1e8a798640dfc4def78950a9aa6eb.png

也可在指定字符范围内生成随机图像验证码,示例代码如下所示:

from captcha.image import ImageCaptchafrom random import randintlist = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9',        'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',        'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']data = ''for i in range(4):  data += list[randint(0, 62)]image = ImageCaptcha().generate_image(data)image.show()

随机生成效果如下所示:

2

graphic-verification-code库

第1步:安装graphic-verification-code库

pip install graphic-verification-code

由于使用pip一直下载失败,于是我是到官方网站下载的,也是失败很久,速度惨不忍睹。

63a7ea9ec819e1fd98290be689ae1f31.png

 安装成功效果如下所示: 

a4746217364a03d8859655913da1241b.png

第2步:4行代码生成图像验证码

import gvcodes, v = gvcode.generate() #序列解包s.show() #显示生成的验证码图片print(v) #打印验证码字符串

随机生成效果如下所示: 

1f6f3b934d7273b1e4cdec59e4a8af15.png811b60ee0e021cbbf92b412d698e40fc.png往期推荐
  • 高考大数据:全国31省高考难度,哪个才是地狱模式?

  • 基于Python的人工智能美颜系统

  • Python+OpenCV实时图像处理

78e1042295e1a5dbc3ccfdae43ea76b6.pngda75085521a98c8cf2b00f8ffb81d9d4.gif点击阅读原文,更精彩~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/346387.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python3 多线程_Python3多线程爬虫实例讲解

多线程概述多线程使得程序内部可以分出多个线程来做多件事情,充分利用CPU空闲时间,提升处理效率。python提供了两个模块来实现多线程thread 和threading ,thread 有一些缺点,在threading 得到了弥补。并且在Python3中废弃了thread…

java多条件组合查询6_elasticsearch组合多条件查询实现restful api以及java代码实现

elasticsearch组合多条件查询实现restful api以及java代码实现实际开发中,基本都是组合多条件查询。elasticsearch提供bool来实现这种需求;主要参数:must文档 必须 匹配这些条件才能被包含进来。must_not文档 必须不 匹配这些条件才能被包含进…

instanceof运算符_Java 8中的instanceof运算符和访客模式替换

instanceof运算符我有一个梦想,不再需要操作员和垂头丧气的instanceof ,却没有访客模式的笨拙和冗长。 所以我想出了以下DSL语法: Object msg //...whenTypeOf(msg).is(Date.class). then(date -> println(date.getTime())).is(Strin…

python垃圾处理_利用python程序帮大家清理windows垃圾

前言大家应该都有所体会,在windows系统使用久了就会产生一些“垃圾”文件。这些文件有的是程序的临时文件,有的是操作记录或日志等。垃圾随着时间越积越多,导致可用空间减少,文件碎片过多,使得系统的运行速度受到一定影…

基于java家教管理系统_基于jsp的家教信息管理-JavaEE实现家教信息管理 - java项目源码...

基于jspservletpojomysql实现一个javaee/javaweb的家教信息管理, 该项目可用各类java课程设计大作业中, 家教信息管理的系统架构分为前后台两部分, 最终实现在线上进行家教信息管理各项功能,实现了诸如用户管理, 登录注册, 权限管理等功能, 并实现对各类家教信息管理相关的实体…

如何从云功能调用外部REST API

在之前的博客文章中,我展示了如何创建您的第一个云功能 (以及一个视频 )。 您的云函数很可能需要调用外部REST API。 以下教程将向您展示如何创建此类功能(非常简单)。 登录到IBM Cloud帐户 点击目录 删除标签&…

sinx泰勒展开_高考中怎么用泰勒公式?

好久没有更新了,最近一直在准备天津市高数竞赛,今天才有空写高考的文章看,并且运用这篇文章的前提要求是已经掌握了绝大多数的高考题型然后了解泰勒拓展知识面什么是泰勒公式?你去百度肯定会有一大堆理论给你解释,今天…

java selenium 日志_java - 支持selenium日志_java_酷徒编程知识库

在自動測試中,Chrome創建了大量日誌,System.setProperty("webdriver.chrome.silentOutput","true");ChromeOptions options new ChromeOptions();options.addArguments("--disable-logging","--log-levelOFF",…

机器学习分类算法_机器学习分类算法

人们曾在自身的神经元得到启发,将机器学习中给出的特征输入与权重之积作为输出与阈值作比较,得到0或者1的输出。这就是我们感知器的实现原理感知器在实现过程中的步骤如下:①将权值初始化称为一个很小的向量②迭代训练所有样本:计…

scala 异步调用_非阻塞异步Java 8和Scala的Try / Success / Failure

scala 异步调用受Heinz Kabutz最近的时事通讯以及我在最近的书中研究的Scala的期货的启发,我着手使用Java 8编写了一个示例,该示例如何将工作提交给执行服务并异步地响应其结果,并使用了回调。无需阻止任何线程等待执行服务的结果。 理论认为…

java简单的事务单元_junit 单元测试事务自动回滚(亲测有效)

junit 单元测试事务会自动回滚。通过Rollback(true)注解来实现,默认是true,事务会回滚,可以不写。false时事务不会回滚,数据会写到数据库中。实例:package com.xiaolyuh.service;import java.util.Date;import org.jun…

linux系统如何打开python_手把手教你在Linux系统下使用Python虚拟环境

点击上方“Python爬虫与数据挖掘”,进行关注回复“书籍”即可获赠Python从入门到进阶共10本电子书今日鸡汤夕阳无限好,只是近黄昏。/1 前言/Hello小伙伴们,你们好,又是日常get新技能的一天,今天,咱们来整一…

Java EE 7中的资源和依赖注入

1.概述 上下文和依赖注入(CDI)是Java EE的一项功能,可帮助融合Java EE 6和更高版本中包含的平台的Web层和事务层。 从技术角度来看,这意味着CDI提供了依赖项注入框架,并且还管理了依赖项的生命周期。 今天在本教程中&…

java wrap方法_Java WritableCellFormat.setWrap方法代码示例

import jxl.write.WritableCellFormat; //导入方法依赖的package包/类/*** param workSheet to add the help to* param table to fetch metadata from* param startRow to start adding rows at* param helpTextRowNumbers - map to insert row numbers for each help field i…

python创建tcp socket_Python Socket如何建立TCP连接

在 Python 程序中创建 TCP 服务器时,创建通用 TCP 服务器的一般演示代码如下。需要记住的是,这仅是设计服务器的一种方式。一旦熟悉了服务器设计,可以修改下面的代码来操作服务器。ss socket() #创建服务器套接字ss.bind() #绑定套接字与地址…

ubantu java编辑器_Linux Ubuntu中最好的代码编辑器 程序员都这么看吗?

【IT168 应用】Linux Ubuntu 中最好的代码编辑器是哪个 ? 这要看程序员的使用习惯和喜好了,Atom、Brackets、Sublime Text 是最常用的三个,也许程序员们还有更喜欢的。AtomAtom 是流行,而且十分友好的文本编辑器,而且还可以嵌入到…

apache camel_Apache Camel –从头开始开发应用程序(第1部分/第2部分)

apache camel开始之前 前段时间,我写了一篇关于Spring Integration的教程,以演示如何在受现实发票处理系统启发的示例应用程序中使用Spring Integration。 我对此非常满意,因此我决定向您展示如何使用Apache Camel(Spring Integra…

python websocket异步高并发_高并发异步uwsgi+web.py+gevent

为什么用web.py?python的web框架有很多,比如webpy、flask、bottle等,但是为什么我们选了webpy呢?想了好久,未果,硬要给解释,我想可能原因有两个:第一个是兄弟项目组用webpy&#xff…

提示:通过URL激活并发送参数

世界上最安全的密码是不存在的密码。 使用完全随机的密钥从等式中删除用户。 公平地说,这有一些缺点,并且密码仍然存在于某个地方(在您的电话/电子邮件中),但通常效果很好。 诀窍很简单,如果我们想对用户进…

weblogic创建域后启动不了_摩托车淋雨后启动不了什么原因?如何解决?

图文是工作,视频是生活。大家好,我是 骑士分享 欢迎您的关注!摩托车淋雨后启动不了什么原因?如何解决?这种现象对于电喷车型来说发生的几率并不大,原因就在于电喷车型的线路防水能力会更强,供油…