批量生成账户信息,产生的账户由@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‘ + ‘\n‘ # 拼接字符串 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 [email protected] 2 [email protected] 3 [email protected] 4 [email protected] 5 [email protected]
时间: 2024-10-15 07:31:44