验证码随机生成

验证码随机生成

这里主要使用到的库是captcha库,下载的命令如下:

pip install captcha

验证码随机生成代码,(python 版本:3.6     captcha 版本:0.3)

from captcha.image import ImageCaptcha
import numpy as np
import matplotlib.pyplot as plt
from PIL import Image
import random# CSDN author:Jumping boy
# 链接:https://blog.csdn.net/qq_40962368/number = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
alphabet = ['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']
ALPHABET = ['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']def random_captcha_text(char_set=number+alphabet+ALPHABET, captcha_size=4):''':param char_set: 验证码的候选集:param captcha_size: 生成验证码中元素个数:return: 返回随机挑选的captcha_size个元素组成的列表'''captcha_text = []for i in range(captcha_size):c = random.choice(char_set)captcha_text.append(c)return captcha_textdef gen_captcha_text_and_image():'''把 random_captcha_text() 函数所生成列表中的元素组成字符串,传入到实例的方法中,生成对应的图片:return: captcha_text为标签,captcha_image为图片'''image = ImageCaptcha()captcha_text = random_captcha_text()captcha_text = ''.join(captcha_text)  # 把列表中的所有元素组成一个字符串captcha = image.generate(captcha_text)captcha_image = Image.open(captcha)captcha_image = np.array(captcha_image)return captcha_text, captcha_imageif __name__ == '__main__':text, image = gen_captcha_text_and_image()# 显示验证码图片fig = plt.figure()fig.text(0.1, 0.9, text, ha='center', va='center')plt.imshow(image)plt.show()

结果展示: 

 

 

 

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

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

相关文章

台式电脑麦克风_还有人买台式PC吗?这份新品推荐攻略值得收藏

【科技犬】新品一,联想发布新款天逸510S台式机联想现已推出天逸 510S 小型主机,搭载了英特尔最新的十代酷睿处理器 i5-10400,8GB 内存 512GB SSD 售价 3499 元。联想新款天逸 510S 将于 7 月 23 日开卖,适合企业办公用户使用。天…

天基物联,毫瓦服务,商业航天撬动万亿市场

来源: 卫星与网络2019年8月17日12时11分,酒泉卫星发射中心,北京国电高科科技有限公司(以下简称“国电高科”)研制的天启沧州号(又名“忻中一号”)卫星由首次发射的捷龙一号商业火箭成功送入太空…

GitHub如何上传超过100MB的文件

GitHub如何上传超过100MB的文件 平时在GitHub上上传项目文件时,遇到比较大的文件,就会出现无法上传的情况: this exceeds GitHubs file size limit of 100.00 MB 解决方法如下: 在所要上传文件的目录下打开Git 首先,…

人的智商到底有多高?

图片来源:verywell.com来源:生物谷人的智商到底有多高?来自慕尼黑大学的Markus Buhner教授表示,其实日常生活中我们认为的很多事实实际上或许都是误解,这里,研究人员对8种陈词滥调的有效性证据进行了权衡分…

解决问题:Couldn't open file: data/coco.names

错误:Couldn’t open file: data/coco.names darknet GitHub:https://github.com/pjreddie/darknet YOLO官网:https://pjreddie.com/darknet/yolo/ 在进行yolo效果测试时,出现了该错误。通过如下命令下载darknet: git…

linux系统下codeblocks控制台打印中文乱码

linux系统下codeblocks控制台打印中文乱码 在linux下安装codeblocks后&#xff0c;打印中文出现如下问题&#xff1a; #include <stdio.h> #include <stdlib.h>int main() {printf("你好&#xff0c;世界&#xff01;\n");return 0; } 解决办法 1、将…

db2时间格式化为时间到时分秒_快捷指令为 iPhone 手机照片添加时间水印

安卓手机用户&#xff0c;自带的相机一般都有花样繁多的水印功能&#xff0c;可以将当前使用的手机型号、日期时间、品牌等信息以水印形式添加到照片。而苹果手机自带的相机应用可设置的功能较少&#xff0c;不过&#xff0c;苹果系统自带的“快捷指令”应用扩展功能非常强&…

深度学习仍是视觉大数据领域的最好分析方法之一

在这个数据为王的时代&#xff0c;深度学习擅于发掘多维数据中错综复杂的关系。基于大数据的深度学习算法在计算机视觉、自然语言处理以及信息检索等多个领域不断刷新着记录。来源&#xff1a; AI科技评论AI 科技评论注&#xff1a;本文作者为中国科学院信息工程研究所张晓宇副…

matplotlib调节colorbar的大小

调节plt.colorbar的fraction系数即可调节colorbar的大小 weight np.random.random([8, 8]) plt.imshow(weight) plt.colorbar(fraction0.05, pad0.05) plt.savefig(tjn.png, bbox_inchestight) plt.show()

学习opencv 英文版_B站上适合程序员的学习资源【赶紧收藏!】

“二次元&#xff0c;鬼畜&#xff0c;动漫”是大家提到B站&#xff0c;最容易冒出来的关键词&#xff01;然而央视网一条微博却表示&#xff1a;过去一年有近2000万人在B站学习&#xff0c;相当于去年高考人数的2倍&#xff01;B站正在成为年轻人学习的首要阵地。下面整理一些…

Matlab读取json文件

Matlab读取json文件 在matlab中&#xff0c;可以将数据写入json文件&#xff0c;却没发现读取json的函数&#xff0c;网上查了一下&#xff0c;大部分是个人写的函数&#xff0c;再可执行性上可能会有一些问题。最终&#xff0c;还是发现了一个matlab解析json文件的工具包&…

追问人工智能

来源&#xff1a;人机与认知实验室前段时间&#xff0c;英国公司登记处的一份文件披露了 DeepMind 2018 年的财务状况&#xff1a;这家 AI 科技公司的净亏损由 2017 年的 3.41 亿美元增加至 2018 年的 5.72 亿美元&#xff0c;今年到期的债务高达 12.656 亿美元。如此巨额的亏损…

安卓系统挂载NTFS格式硬盘_苹果电脑挥之不去的烦恼!怎样兼容NTFS格式的U盘移动硬盘?...

[PConline 应i用]很多用苹果电脑的朋友&#xff0c;都经常会遇到这样的烦恼&#xff1a;插入某个U盘或者移动硬盘&#xff0c;发现只能读取文件&#xff0c;没法把文件复制进去&#xff01;这是因为这个U盘或者移动硬盘&#xff0c;使用的是NTFS格式&#xff0c;这也是Windows御…

dubbo工作原理

part -- 外挂1.dubbo借助spring的schema启动和初始化 1.1 spring扫描所有jar下META-INF的spring.handlers和spring.schemas。 1.2 运行spring.handlers下定义的DubboNamespaceHandler的init方法。 1.3 spring加载xml&#xff0c;执行DubboBeanDefinitionParser的parse方法&…

问题:AttributeError: 'Tensor' object has no attribute 'creator'

AttributeError: Tensor object has no attribute creator 根据pytorch官方文档的说法&#xff0c;变量具有如上的三个属性&#xff0c;在获取y操作的creator属性时&#xff0c;却出现没有该属性的错误。 import torch from torch.autograd import Variable x Variable(torch…

ACL 2019年度回顾:自然语言处理发展趋势

大数据文摘出品来源&#xff1a;mihaileric编译&#xff1a;赵伟、邢畅、张秋玥今年7月底&#xff0c;计算语言学协会年会&#xff08;ACL&#xff09;在风景优美的佛罗伦萨召开。会场设在了一座古老的Medici家族的城堡中。作为NLP研究最大规模的会议之一&#xff0c;ACL 2019的…

Python基础:获取迭代器下一项目的常见操作

目录 获取迭代器下一项目通常有三种方法 python3中最常见的一种错误使用 获取迭代器下一项目通常有三种方法 next()函数iterator.__next__()属性for循环 next()函数 iterator iter([1,2,3,4,5,6]) a next(iterator) print(a) b next(iterator) print(b) 输出&#xff1…

电商项目的并发量一般是多少_掌握这些,高并发秒杀系统就不用担心了!

很多小伙伴反馈说&#xff0c;高并发专题学了那么久&#xff0c;但是&#xff0c;在真正做项目时&#xff0c;仍然不知道如何下手处理高并发业务场景!图片来自 Pexels甚至很多小伙伴仍然停留在只是简单的提供接口(CRUD)阶段&#xff0c;不知道学习的并发知识如何运用到实际项目…

matplotlib的colorbar设置显示的刻度个数和指定的刻度值

通过matplotlib.ticker.MaxNLocator(nbinsn)来设置colorbar上的刻度值个数 import matplotlib.ticker as ticker fig plt.figure() ax fig.gca() im ax.imshow(np.random.random([10, 10])) cb1 plt.colorbar(im, fraction0.03, pad0.05) tick_locator ticker.MaxNLocato…

Windows下MySQL数据库更改数据存储位置

Windows下MySQL数据库更改数据存储位置 1、创建一个新的存储数据文件 比如&#xff0c;我创建了一个文件 E:\MySQL_Service &#xff0c;用来放mysql数据。 2、找到配置文件my.ini和mysql原本数据存放位置 之前用的是默认安装位置&#xff0c;我的电脑数据存放的默认路径为…