python随机产生邮箱数据

写一个函数,传入数字n,产生n条邮箱。

要求:

1,邮箱不能重复。

2,邮箱前面的长度是6-12之间。

3,产生的邮箱必须包含大小写字母,数字和特殊字符,不包括的丢弃

4,邮箱后面内容从以下内容中取[@163.com, @qq.com, @sina.com,@126.com]

5,产生保存邮箱文件

这个程序不复杂,但是却调试了很久才出来,一定要记录一下,犯的错误有点低级。

import random
import string

def email(n):
    S = set()
    E = ['@163.com', '@qq.com', '@sina.com','@126.com']
    random_string = string.ascii_letters + string.digits + string.punctuation
    s_lower = set(string.ascii_lowercase)
    s_upper = set(string.ascii_uppercase)
    s_digits = set(string.digits)
    s_punc = set(string.punctuation)
    while True:
        t = set()
        start = ''.join(random.sample(random_string, random.randint(6,12)))
        start_set = set(start)
        S1 = start_set & s_lower
        S2 = start_set & s_upper
        S3 = start_set & s_digits
        S4 = start_set & s_punc
        if not (S1 and S2 and S3 and S4):
            print(start)
            continue
        end = random.choice(E)
        Email = start + end
        S.add(Email+'\n')
        if len(S) == n:
            break
    L = list(S)
    with open('email', 'w') as f:
        f.writelines(L)

email(10)

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值