pyhton2 and python3 生成随机数字、字母、符号字典(用于撞库测试/验证码等)

您所在的位置:网站首页 python随机生成字母和数字 pyhton2 and python3 生成随机数字、字母、符号字典(用于撞库测试/验证码等)

pyhton2 and python3 生成随机数字、字母、符号字典(用于撞库测试/验证码等)

2023-10-29 21:41| 来源: 网络整理| 查看: 265

#!/usr/bin/env python# encoding: utf-8#@author: jack#@contact: [email protected]#@site: https://www.cnblogs.com/jackzz#@software: PyCharm

import threadingimport queueimport random, string

class ThreadPool: def __init__(self, n): """ 构造一个指定数量线程的线程池. :param n: 线程数量 """ self.queue_obj = queue.Queue() for i in range(n): # 开启池中的线程对象 threading.Thread(target=self.worker, daemon=True).start()

def worker(self): """ 线程对象, 写while True是为了能够一直去执行任务. :return: None """ while True: func = self.queue_obj.get() func() self.queue_obj.task_done()

def apply_async(self, func): """ 向队列中传入的需要执行的函数对象. :param func: 函数对象 :return: None """ self.queue_obj.put(func)

def join(self): """ 等待队列中的内容被取完. :return: None """ self.queue_obj.join()

def rand_str(num, length=8): with open('pwd_dir.txt', 'w') as f: for i in range(num): chars = string.ascii_letters+string.digits+string.punctuation s = [random.choice(chars) for i in range(length)] s=set(s) f.write('{0}\n'.format(''.join(s))) f.close()

if __name__ == '__main__': P = ThreadPool(100)#不怕内存溢出的小伙伴往大了设,一般100个满足日常所需了 P.apply_async(rand_str(200000000))#跑个2E个组合的字典 P.join()



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3