python自动生成数据
- random
python自带的模块,用于生产随机数
- string
python自带的模块, 用于返回常用字符串
random
# 生成随机数
import random
print(random.random())
# 浮点数0.6122054957863331,范围为(0-1)
print(random.randint(1, 100))
# 0-100之间的整数:27
print(random.uniform(10, 20))
# 10-20之间的一个浮点数:15.262479176469022
li = ["a","b","c"]
print(random.choice(li))
# 随机获取列表值:b
lb = ["a","b","c","d","e","f","1","2","3"]
print(random.sample(lb, 2))
# 随机获取列表中的2个值:['2', '3']
string
import string
print(string.ascii_lowercase)
# 全部小写字母: abcdefghijklmnopqrstuvwxyz
print(string.ascii_uppercase)
# 全部大写字母: ABCDEFGHIJKLMNOPQRSTUVWXYZ
print(string.ascii_letters)
# 大小写字母拼接: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
print(string.digits)
# 0-9的数字:0123456789
实例1:随机生成八位字符串
- 大小写+数字的拼接
- 从步骤1中获取的字符串中随机选择一个字符
- 将选择的字符依次追加到sa列表中
- 八位字符串则循环添加8次
- 将列表转换为字符串
sa = []
for i in range(8):
sa.append(random.choice(string.ascii_letters + string.digits))
print(sa)
user = "".join(sa)
print(user)
# 随机生成八位字符串:EgNIds03, DqpqmpXF
实例1:生成随机汉字
Unicode码随机生成汉字
- 直接基于Unicode码生成
- 在unicode码中,汉字范围是(0x4E00,0x9FBF)
def unicode_zh():
zh = random.randint(0x4E00,0x9FBF)
return chr(zh)
print(unicode_zh())
# 金,茴
gbk2312码随机生成汉字
- 在gbk2312码中,字符编码采用两个字节组合
- 汉字第一个字节范围为(0xB0,0xF7)
- 汉字第二个字节范围为(0xA1,0xFE)
- 两个字节组合后转换成汉字
def unicode_gbk2312():
first = random.randint(0xB0,0xF7)
second = random.randint(0xA1,0xFE)
# 两个字节组合转换一下
s = f'{first:x}{second:x}'
# 转换成汉字
zh = bytes.fromhex(s).decode('gb2312')
return zh
print(unicode_gbk2312())
# 嗔,砚