• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    Python生成隨機驗證碼的兩種方法

    來源:懂視網 責編:小OO 時間:2020-11-27 14:35:06
    文檔

    Python生成隨機驗證碼的兩種方法

    方法一。利用range方法,對于range方法不清楚的同學,請參考文章《python開發的range()函數》。,# -*- coding: utf-8 -*-import randomdef generate_verification_code(len=6): ''' 隨機生成6位的驗證碼 ''' # 注意: 這里我們生成的是0-9A-Za-z的列表,當然你也可以指定這個list,這里很靈活 # 比如: code_list = ['P','y','t','h','o','n','T','a',作為一個片斷返回 verification_code = ''.join(myslice) # list to string return verification_code。方法二。
    推薦度:
    導讀方法一。利用range方法,對于range方法不清楚的同學,請參考文章《python開發的range()函數》。,# -*- coding: utf-8 -*-import randomdef generate_verification_code(len=6): ''' 隨機生成6位的驗證碼 ''' # 注意: 這里我們生成的是0-9A-Za-z的列表,當然你也可以指定這個list,這里很靈活 # 比如: code_list = ['P','y','t','h','o','n','T','a',作為一個片斷返回 verification_code = ''.join(myslice) # list to string return verification_code。方法二。

    使用python生成隨機驗證碼的方法有很多種,今天小編給大家分享兩種方法,大家可以靈活運用這兩種方法,設計出適合自己的驗證碼方法。

    方法一:

    利用range方法,對于range方法不清楚的同學,請參考文章《python開發的range()函數》

    # -*- coding: utf-8 -*-
    import random
    def generate_verification_code(len=6):
     ''' 隨機生成6位的驗證碼 '''
     # 注意: 這里我們生成的是0-9A-Za-z的列表,當然你也可以指定這個list,這里很靈活
     # 比如: code_list = ['P','y','t','h','o','n','T','a','b'] # PythonTab的字母
     code_list = [] 
     for i in range(10): # 0-9數字
     code_list.append(str(i))
     for i in range(65, 91): # 對應從“A”到“Z”的ASCII碼
     code_list.append(chr(i))
     for i in range(97, 123): #對應從“a”到“z”的ASCII碼
     code_list.append(chr(i))
     myslice = random.sample(code_list, len) # 從list中隨機獲取6個元素,作為一個片斷返回
     verification_code = ''.join(myslice) # list to string
     return verification_code

    方法二:

    利用randint方法

    # -*- coding: utf-8 -*-
    import random
    def generate_verification_code_v2():
     ''' 隨機生成6位的驗證碼 '''
     code_list = []
     for i in range(2):
     random_num = random.randint(0, 9) # 隨機生成0-9的數字
     # 利用random.randint()函數生成一個隨機整數a,使得65<=a<=90
     # 對應從“A”到“Z”的ASCII碼
     a = random.randint(65, 90)
     b = random.randint(97, 122)
     random_uppercase_letter = chr(a)
     random_lowercase_letter = chr(b)
     code_list.append(str(random_num))
     code_list.append(random_uppercase_letter)
     code_list.append(random_lowercase_letter)
     verification_code = ''.join(code_list)
     return verification_code

    測試:

    code = generate_verification_code(6)
    code2 = generate_verification_code_v2()
    print code
    print code2

    輸出結果:

    Glc5Tr
    Hr6t7B

    我個人更傾向于第一種方法,更加靈活,可以隨意設置驗證碼長度。

    Python 隨機生成中文驗證碼

    # -*- coding: utf-8 -*- 
    import Image,ImageDraw,ImageFont 
    import random 
    import math, string 
    class RandomChar(): 
     """用于隨機生成漢字""" 
     @staticmethod 
     def Unicode(): 
     val = random.randint(0x4E00, 0x9FBF) 
     return unichr(val) 
     @staticmethod 
     def GB2312(): 
     head = random.randint(0xB0, 0xCF) 
     body = random.randint(0xA, 0xF) 
     tail = random.randint(0, 0xF) 
     val = ( head << 8 ) | (body << 4) | tail 
     str = "%x" % val 
     return str.decode('hex').decode('gb2312') 
    class ImageChar(): 
     def __init__(self, fontColor = (0, 0, 0), 
     size = (100, 40), 
     fontPath = 'wqy.ttc', 
     bgColor = (255, 255, 255), 
     fontSize = 20): 
     self.size = size 
     self.fontPath = fontPath 
     self.bgColor = bgColor 
     self.fontSize = fontSize 
     self.fontColor = fontColor 
     self.font = ImageFont.truetype(self.fontPath, self.fontSize) 
     self.image = Image.new('RGB', size, bgColor) 
     def rotate(self): 
     self.image.rotate(random.randint(0, 30), expand=0) 
     def drawText(self, pos, txt, fill): 
     draw = ImageDraw.Draw(self.image) 
     draw.text(pos, txt, font=self.font, fill=fill) 
     del draw 
     def randRGB(self): 
     return (random.randint(0, 255), 
     random.randint(0, 255), 
     random.randint(0, 255)) 
     def randPoint(self): 
     (width, height) = self.size 
     return (random.randint(0, width), random.randint(0, height)) 
     def randLine(self, num): 
     draw = ImageDraw.Draw(self.image) 
     for i in range(0, num): 
     draw.line([self.randPoint(), self.randPoint()], self.randRGB()) 
     del draw 
     def randChinese(self, num): 
     gap = 5 
     start = 0 
     for i in range(0, num): 
     char = RandomChar().GB2312() 
     x = start + self.fontSize * i + random.randint(0, gap) + gap * i 
     self.drawText((x, random.randint(-5, 5)), RandomChar().GB2312(), self.randRGB()) 
     self.rotate() 
     self.randLine(18) 
     def save(self, path): 
     self.image.save(path) 

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    Python生成隨機驗證碼的兩種方法

    方法一。利用range方法,對于range方法不清楚的同學,請參考文章《python開發的range()函數》。,# -*- coding: utf-8 -*-import randomdef generate_verification_code(len=6): ''' 隨機生成6位的驗證碼 ''' # 注意: 這里我們生成的是0-9A-Za-z的列表,當然你也可以指定這個list,這里很靈活 # 比如: code_list = ['P','y','t','h','o','n','T','a',作為一個片斷返回 verification_code = ''.join(myslice) # list to string return verification_code。方法二。
    推薦度:
    標簽: 生成 兩個 方法
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 99久久人妻无码精品系列蜜桃 | 亚洲精品成人a在线观看| 97久久国产亚洲精品超碰热| 亚洲国产精品自在拍在线播放| 亚洲国产精品自在线一区二区| 无码人妻丰满熟妇精品区| 国内精品99亚洲免费高清| 青青青青久久精品国产h| 国产久热精品无码激情| 亚洲国产第一站精品蜜芽| 日韩熟女精品一区二区三区| 国产精品无码不卡一区二区三区| 国产一区二区精品| 国产99视频精品免费专区| 国内精品久久久久国产盗摄| aaa级精品久久久国产片| 亚洲国产精品成人一区| 久久久国产精品| 国产精品日韩欧美在线第3页| 国产亚洲美女精品久久久| 午夜精品一区二区三区免费视频| 久久噜噜久久久精品66| 亚洲国产精品自在线一区二区| 国产精品久久久久9999高清| 国产精品免费AV片在线观看| 久久久久久国产精品无码超碰| 无码国产69精品久久久久网站| 一本久久a久久精品vr综合| 亚洲国产精品狼友中文久久久| 日韩亚洲精品福利| 亚洲精品国产V片在线观看| 亚欧乱色国产精品免费视频 | 亚洲Av永久无码精品三区在线| 无码AV动漫精品一区二区免费| 精品熟女少妇aⅴ免费久久| 精品无码人妻一区二区三区不卡| 国内精品视频九九九九| 精品久久久久一区二区三区| 精品欧美激情在线看| 久久亚洲中文字幕精品一区| 亚洲av无码成人精品区|