欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python實(shí)現(xiàn)隨機(jī)生成圖片驗(yàn)證碼詳解

 更新時(shí)間:2022年01月19日 11:57:34   作者:小木_.  
這篇文章主要介紹了如何利用Python生成隨機(jī)的圖片驗(yàn)證碼 并打印驗(yàn)證碼的值,文中的示例代碼簡(jiǎn)潔易懂,感興趣的小伙伴可以跟隨小編一起試試

使用python生成一個(gè)圖片驗(yàn)證碼,隨機(jī)的,可以由于驗(yàn)證人機(jī)和別的啊,很方便很簡(jiǎn)單

導(dǎo)入模塊

import random
from PIL import Image,ImageFont,ImageDraw

生成隨機(jī)驗(yàn)證碼

def rndtxt():
    txt_list = []
    # 大寫字母
    txt_list.extend([i for i in range(65,90)])
    # 小寫字母
    txt_list.extend([i for i in range(97,123)])
    # 數(shù)字
    txt_list.extend([i for i in range(48,57)])
    return chr(txt_list[random.randint(0,len(txt_list)-1)])

作為待會(huì)生成的圖片背景色和字體色

def rndbgcolor():
    # 背景顏色
    return (random.randint(64,255),random.randint(64,255),random.randint(64,255))
 
def rndtxtcolor2():
    # 字體顏色
    return (random.randint(32,127),random.randint(32,127),random.randint(32,127))

進(jìn)行生成打印驗(yàn)證碼并以圖片的形式打開(kāi),不保存圖片文件,僅用于一時(shí)的驗(yàn)證碼驗(yàn)證

def code():
    weight = 240
    hight = 60
    image = Image.new('RGB',(weight,hight),(255,255,255))
    font = ImageFont.truetype('msyh.ttc',36)
    draw = ImageDraw.Draw(image)
 
    # 填充背景顏色
    for x in range(weight):
        for y in range(hight):
            draw.point((x,y),fill=rndbgcolor())
 
    # 生成隨機(jī)驗(yàn)證碼
    for T in range(4):
        rndtxt_2 = rndtxt()
        print(rndtxt_2)       # 打印驗(yàn)證碼的值
        draw.text((60 * T + 10,10),rndtxt_2,font=font,fill=rndtxtcolor2())
    image.show()

完整代碼:

#!/usr/bin/env python3
import random
from PIL import Image,ImageFont,ImageDraw
 
def rndtxt():
    txt_list = []
    # 大寫字母
    txt_list.extend([i for i in range(65,90)])
    # 小寫字母
    txt_list.extend([i for i in range(97,123)])
    # 數(shù)字
    txt_list.extend([i for i in range(48,57)])
    return chr(txt_list[random.randint(0,len(txt_list)-1)])
 
def rndbgcolor():
    # 背景顏色
    return (random.randint(64,255),random.randint(64,255),random.randint(64,255))
 
def rndtxtcolor2():
    # 字體顏色
    return (random.randint(32,127),random.randint(32,127),random.randint(32,127))
 
def code():
    weight = 240
    hight = 60
    image = Image.new('RGB',(weight,hight),(255,255,255))
    font = ImageFont.truetype('msyh.ttc',36)
    draw = ImageDraw.Draw(image)
 
    # 填充背景顏色
    for x in range(weight):
        for y in range(hight):
            draw.point((x,y),fill=rndbgcolor())
 
    # 生成隨機(jī)驗(yàn)證碼
    for T in range(4):
        rndtxt_2 = rndtxt()
        print(rndtxt_2)       # 打印驗(yàn)證碼的值
        draw.text((60 * T + 10,10),rndtxt_2,font=font,fill=rndtxtcolor2())
    image.show()
 
code()

以上就是Python實(shí)現(xiàn)隨機(jī)生成圖片驗(yàn)證碼詳解的詳細(xì)內(nèi)容,更多關(guān)于Python圖片驗(yàn)證碼的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python判斷操作系統(tǒng)類型代碼分享

    Python判斷操作系統(tǒng)類型代碼分享

    這篇文章主要介紹了Python判斷操作系統(tǒng)類型代碼分享,編寫一些跨平臺(tái)程序時(shí)經(jīng)常要用到,需要的朋友可以參考下
    2014-11-11
  • python怎么提高計(jì)算速度

    python怎么提高計(jì)算速度

    在本篇文章里小編給大家分享的是一篇關(guān)于python中如何提高計(jì)算速度的技術(shù)文章,需要的朋友們可以學(xué)習(xí)下。
    2020-06-06
  • Django Rest framework權(quán)限的詳細(xì)用法

    Django Rest framework權(quán)限的詳細(xì)用法

    這篇文章主要介紹了Django Rest framework權(quán)限的詳細(xì)用法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • python數(shù)據(jù)操作之lambda表達(dá)式詳情

    python數(shù)據(jù)操作之lambda表達(dá)式詳情

    這篇文章主要介紹了python數(shù)據(jù)操作之lambda表達(dá)式詳情,文章基于python的相關(guān)資料展開(kāi)lambda表達(dá)式具體的內(nèi)容,感興趣的小伙伴可以參考一下
    2022-05-05
  • python中for用來(lái)遍歷range函數(shù)的方法

    python中for用來(lái)遍歷range函數(shù)的方法

    今天小編就為大家分享一篇python中for用來(lái)遍歷range函數(shù)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • Python-split()函數(shù)實(shí)例用法講解

    Python-split()函數(shù)實(shí)例用法講解

    在本篇文章里小編給大家整理的是一篇關(guān)于Python-split()函數(shù)實(shí)例用法講解,有興趣的朋友們可以學(xué)習(xí)下。
    2020-12-12
  • 詳解查看Python解釋器路徑的兩種方式

    詳解查看Python解釋器路徑的兩種方式

    這篇文章主要介紹了詳解查看Python解釋器路徑的兩種方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • 使用Python Fast API發(fā)布API服務(wù)的過(guò)程詳解

    使用Python Fast API發(fā)布API服務(wù)的過(guò)程詳解

    這篇文章主要介紹了使用Python Fast API發(fā)布API服務(wù),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-04-04
  • pytorch 6 batch_train 批訓(xùn)練操作

    pytorch 6 batch_train 批訓(xùn)練操作

    這篇文章主要介紹了pytorch 6 batch_train 批訓(xùn)練操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • Python使用progressbar模塊實(shí)現(xiàn)的顯示進(jìn)度條功能

    Python使用progressbar模塊實(shí)現(xiàn)的顯示進(jìn)度條功能

    這篇文章主要介紹了Python使用progressbar模塊實(shí)現(xiàn)的顯示進(jìn)度條功能,簡(jiǎn)單介紹了progressbar模塊的安裝,并結(jié)合實(shí)例形式分析了Python使用progressbar模塊顯示進(jìn)度條的相關(guān)操作技巧,需要的朋友可以參考下
    2018-05-05

最新評(píng)論