Python小工具_批量生成随机用户名

一、相关库方法使用

1、随机字符

import string
resultletters1 = string.ascii_letters   #大小写字母
resultletters2 = string.ascii_lowercase    #小写字母
resultletters3 = string.ascii_uppercase    #大写字母
resultletters4 = string.digits           #数字
resultletters5 = string.punctuation    #字符

#输出
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
0123456789
!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~

2、随机输出

#获取指定个数的字母,且随机排序
#1、获取a,b之间的整数
ranLen = random.randint(0,100)
#2、获取指定长度的字符串sample(a,b)
# b的长度需小于等于a
str = ''
for i in range(1,3):
    str = str+resultletters1
GetStr = random.sample(str,ranLen)
print(GetStr)

二、实例:生成指定格式的测试数据

1、生成用户名,格式为 user001ALDJldwje(user前缀+数字+随机字母)
(1)生成随机指定长度的字符串

#获取随机长度的字符串
import random
import string

def GetRandomString(user_min,user_max):
    letters1 = string.ascii_letters
    ranLen = random.randint(user_min,user_max)
    #2、获取指定长度的字符串sample(a,b)
    # b的长度需小于等于a
    str = ""
    for i in range(1,3):
        str = str+letters1
    #通过join()方法连接字符
    GetStr = ''.join(random.sample(str,ranLen))
    print(GetStr)

if __name__ == '__main__':
    user_min = int(input('请输入用户名的最小长度'))
    user_max = int(input('请输入用户名的最大长度'))
    obj = GetRandomString(user_min,user_max)

(2)加入前缀和中间的数字,通过中间的数字,控制生成的用户名个数(批量构造用户名数据)

#获取随机长度的字符串
import random
import string

def GetRandomString(user_min,user_max,pre,userNum):
    letters1 = string.ascii_letters
    ranLen = random.randint(user_min,user_max)
    #2、获取指定长度的字符串sample(a,b)
    # b的长度需小于等于a
    str = ""
    for i in range(1,3):
        str = str+userNum+letters1
    #通过join()方法连接字符
    GetStr = ''.join(random.sample(str,ranLen))
    # for i in range(1,num):
    #     num = '00'+str(num)
    #连接前缀,数量,随机字符串
    GetStr = pre+userNum+GetStr
    return GetStr

if __name__ == '__main__':
    user_min = int(input('请输入用户名的最小长度'))
    user_max = int(input('请输入用户名的最大长度'))
    pre = input('请输入前缀字符串')
    userNum = int(input('请输入需要构造的用户数量'))
    for i in range(1,userNum):
        userNum = '00'+'userNum'
        str1 = GetRandomString(user_min,user_max,pre,userNum)
        print(str1)

(3)保存在csv数据文件中

if __name__ == '__main__':
    user_min = int(input('请输入用户名的最小长度'))
    user_max = int(input('请输入用户名的最大长度'))
    pre = input('请输入前缀字符串')
    userNum = int(input('请输入需要构造的用户数量'))
    file = open('username.csv','w',newline='')
    writer = csv.writer(file)
    for i in range(1,userNum):
        userNum = '00'+'userNum'
        str1 = GetRandomString(user_min,user_max,pre,userNum)
        writer.writerow([str1])
        print(str1)
    file.close()
发布了222 篇原创文章 · 获赞 4 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_42976139/article/details/103381630