Python小工具_批量生成随机邮箱

1、需求:
生成随机邮箱
‘’’
生成指定长度的随机英文+数字+后缀
邮箱后缀随机获取,不同的邮箱通过列表存储
‘’’

2、代码:
(1)方法一面向过程实现

import csv
import random
import string
#随机获取一个邮箱
def GetRandomString(self,email_min,email_max,list_email):
    #根据指定范围,随机邮箱字符串最大最小长度
    ranLen = random.randint(email_min,email_max)
    #随机邮箱后缀,从一个存储邮箱的list里选择
    email_form = random.choice(list_email)
    #可供选的字符串
    str = ""
    letters1 = string.ascii_letters  #字母
    letters2 = string.digits  # 数字
    for i in range(1,3):
        str = str+letters1+letters2+letters2+letters2+letters2
    #通过join()方法连接字符,去掉空格
    GetEmailStr = ''.join(random.sample(str,ranLen))

    #字符串连接,加上邮箱后缀
    Email = GetEmailStr+email_form
    return Email

#将生成的邮箱数据,保存在文件中
def Num_Email(self,email):
    file = open('EMail.csv', 'w', newline='')
    writer = csv.writer(file)
    for elements in email:
        writer.writerow([elements])
    file.close()

if __name__ == '__main__':
    email_min = int(input('请输入邮箱的最小长度'))
    email_max = int(input('请输入邮箱的最大长度'))
    eMailNum = int(input('请输入需要构造的邮箱数量'))
    list_email = ['@163.com', '@sina.com', '@qq.com', '@yy.com']
    list_Email = []
    for i in range(1,eMailNum):
        email = GetRandomString(email_min,email_max,list_email)
        list_Email.append(email)
        print(email)
    Num_Email(list_Email)

(2)面向对象方式实现

#生成随机邮箱
'''
生成指定长度的随机英文+数字+后缀
邮箱后缀随机获取,不同的邮箱通过列表存储
'''
import csv
import random
import string
class EMail():
    #初始化
    def __init__(self,email_min,email_max,list_email):
        self.email_min = email_min
        self.email_max = email_max
        self.list_email = list_email

    #随机获取一个邮箱
    def GetRandomString(self):
        #根据指定范围,随机邮箱字符串最大最小长度
        ranLen = random.randint(self.email_min,self.email_max)
        #随机邮箱后缀,从一个存储邮箱的list里选择
        email_form = random.choice(self.list_email)
        #可供选的字符串
        str = ""
        letters1 = string.ascii_letters  #字母
        letters2 = string.digits  # 数字
        for i in range(1,3):
            str = str+letters1+letters2+letters2+letters2+letters2
        #通过join()方法连接字符,去掉空格
        GetEmailStr = ''.join(random.sample(str,ranLen))

        #字符串连接,加上邮箱后缀
        Email = GetEmailStr+email_form
        return Email

    #将生成的邮箱数据,保存在文件中
    def Num_Email(self,email):
        file = open('EMail.csv', 'w', newline='')
        writer = csv.writer(file)
        for elements in email:
            writer.writerow([elements])
        file.close()

if __name__ == '__main__':
    email_min = int(input('请输入邮箱的最小长度'))
    email_max = int(input('请输入邮箱的最大长度'))
    eMailNum = int(input('请输入需要构造的邮箱数量'))
    list_email = ['@163.com', '@sina.com', '@qq.com', '@yy.com']
    list_Email = []
    obj = EMail(email_min,email_max,list_email)
    for i in range(1,eMailNum):
        email = obj.GetRandomString()
        list_Email.append(email)
        print(email)
    #将list里的邮箱保存在csv中
    obj.Num_Email(list_Email)


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值