以下是生成 100 个 outlook 邮箱账户信息,并将其按序号保存到 Excel 表格中的示例代码:
import random
import string
import xlsxwriter
# 定义密码字符集
password_chars = string.ascii_letters + string.digits + '*'
# 随机生成 outlook 邮箱名、密码、英文姓和名、出生日期
outlook_accounts = []
for i in range(1, 101):
first_name = ''.join(random.choice(string.ascii_uppercase) for j in range(3))
last_name = ''.join(random.choice(string.ascii_uppercase) for k in range(5))
birth_month = random.randint(1, 12)
birth_day = random.randint(1, 28)
birth_year = random.randint(1950, 2000)
name = f'{last_name} {first_name}'
birthdate = f'{birth_month:02d}/{birth_day:02d}/{birth_year}'
email = f'{last_name.lower()}{first_name.lower()}{i:03d}@outlook.com'
password = ''.join(random.choice(password_chars) for l in range(8))
while not (any(c.islower() for c in password) and
any(c.isupper() for c in password) and
any(c.isdigit() for c in password) and
'*' in password):
password = ''.join(random.choice(password_chars) for l in range(8))
outlook_accounts.append([i, name, birthdate, email, password])
# 将 outlook 账户信息保存到 Excel 表格中
workbook = xlsxwriter.Workbook('outlook_accounts.xlsx')
worksheet = workbook.add_worksheet()
# 写入列名
headers = ['编号', '姓名', '出生日期', '邮箱', '密码']
for i, header in enumerate(headers):
worksheet.write(0, i, header)
# 写入行数据
for row, account in enumerate(outlook_accounts):
for col, value in enumerate(account):
worksheet.write(row+1, col, value)
workbook.close()
这个代码与之前的版本相比,主要区别在于生成 100 个账户信息并按顺序编号,并将编号作为 outlook
邮箱的一部分。在生成邮箱名称时,我们使用了循环变量 i
来替代原来的随机数,并使用了格式化字符串 {i:03d}
来确保每个邮件编号都是三位数。
除此之外,代码基本上和之前的版本相同,在生成账户信息后,仍然将其保存到一个列表中,并将该列表写入 Excel 表格中。需要注意的是,在写入列名和行数据时,第一列现在是编号而不是姓名,因此修改了相关的代码。
最后,我们使用 close()
方法关闭工作簿,并将生成的 Excel 文件保存到本地磁盘上。