python构建简单的验证码

python构建简单的验证码,第1张

概述此文为自己学习归纳总结:看此文前提有一定的python经验,忘记此文是从哪里找到的。要是楼主看到勿喷。导入相关依赖,执行以下代码即可#构建一个简单的验证码importstringimportrandomfromPILimportImage,ImageFont,ImageDraw,ImageFilter#生成随机数字或字母#n

此文为自己学习归纳总结:

看此文前提有一定的python经验,忘记此文是从哪里找到的。要是楼主看到勿喷。

导入相关依赖,执行以下代码即可

# 构建一个简单的验证码import stringimport randomfrom PIL import Image, ImageFont, ImageDraw, ImageFilter# 生成随机数字或字母# number 以many参数做循环时,每循环一次,生成number对应个数的数字或字母# many 将要生成的数字或字母的个数def get_random(number, many):    for i in range(many):        res_str = ""        for j in range(number):            n = random.randint(1, 2)  # n==1生成数字,n=2生成字母            if n == 1:                num1 = random.randint(0, 9)                res_str += str(num1)            else:                res_str += str(random.choice(string.ascii_letters))        return res_str# 随机颜色RGBdef random_color():    return random.randint(64, 255), random.randint(64, 255), random.randint(64, 255)# 随机颜色RGBdef random_bgcolor():    return random.randint(60, 200), random.randint(60, 200), random.randint(60, 200)if __name__ == '__main__':    # 字体,字体大小 arial.ttf    Font = ImageFont.truetype('arial.ttf', 36)    # 图片尺寸    wIDth = 220    height = 60    # 图像生成    image = Image.new('RGB', (wIDth, height), color='red')    # 创建绘图对象    draw = ImageDraw.Draw(image)    # 填充背景色    for i in range(wIDth):        for j in range(height):            draw.point((i, j), fill=(246, 246, 246))    # 写入信息    for i in range(4):        draw.text((60 * i + 10, 10), get_random(1, 4), Font=Font, fill=random_color())    # # 插入干扰线    # for i in range(2):    #     x1 = random.randint(0, wIDth)    #     y1 = random.randint(0, height)    #     x2 = random.randint(0, wIDth)    #     y2 = random.randint(0, height)    #     draw.line((x1, y1, x2, y2), fill=random_bgcolor(), wIDth=1)    # 添加滤镜    image = image.filter(ImageFilter.BLUR)    # 展示图片    # image.show()    # 保存    image.save('./images/code.png')

 

总结

以上是内存溢出为你收集整理的python构建简单的验证码全部内容,希望文章能够帮你解决python构建简单的验证码所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/langs/1189484.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存