批量生成账户信息,产生的账户由@sina.com结尾,长度由用户输入,产生多少条也由用户输入,用户名不能重复,用户名必须由大写字母、小写字母和数字组成。
1 def Users(num,len): # num产生多少条信息,len账号的长度 2 ''' 3 用交集来判断是否包含大小写字母 4 :param num: 生成几条数据 5 :param len: 账号的长度 6 :return: 7 ''' 8 results = [] # 存放结果的数组 9 uppers = set(string.ascii_uppercase) # 大写字母 10 lowers = set(string.ascii_lowercase) # 小写字母 11 digit = set(string.digits) # 数字 12 all_str = string.ascii_letters + string.digits 13 count = 0 14 while count < num: 15 res = random.sample(all_str,len) # sample 返回的是一个list 16 # 如果set列表中包含大小写字母和数字 17 if set(res) & uppers and set(res) & lowers and set(res) & digit: 18 res = '' .join(res) + '@sina.com' + ' ' # 拼接字符串 19 if res not in results: # 如果res不在列表results中 20 results.append('' .join(res)) # 将拼接的字符串加到results列表中 21 count += 1 22 with open('results.txt','w') as fw: 23 fw.writelines(results) # 将列表写入到文件中 24 25 Users(5,6) # 调用函数
results.txt 生成的数据
1 2SdiPU@qq.com 2 pDzgU9@qq.com 3 k53hNE@qq.com 4 XKVx3o@qq.com 5 gt0ozA@qq.com