在测试过程中,大家肯定会遇到一个很有意思的问题 —— 如何优雅的快速的造数?大部分人起名字都是张三、李四、王五、赵六之类的,或者会用一些自己喜欢的人物,作品,但是遇到需要批量生成测试数据时,起名字等造数环节还是挺费脑细胞的。
最近发现了一个Python的三方库,简直是造数神器 —— Faker库。
Faker简介
Faker 是一个生成伪造数据的 Python 库,Faker 数据通常用于测试或用一些伪数据填充数据库。
Faker 将数据生成委托给提供者。 默认提供程序使用英语语言环境。 Faker 也支持其他语言环境(他们的完成水平不同)。
安装Faker
方法一:打开终端 pip install Faker
方法二:pycharm设置里面找到python解释器,选择添加Faker
常用方法
(1)调用faker.Faker()创建并初始化一个伪造的生成器,如 :faker_zh = Faker()
(2)使用伪造器通过访问以数据类型命名的属性来生成数据,常用属性如下:
from faker import Faker
faker_zh = Faker('zh_CN') # 缺省值(默认)是en_US 美式英语,'zh_CN'表示中文,也可以写成 'zh',标准写法 Faker(locale='zh_CN')
print(f'随机生成姓名: {faker_zh.name()}')
print(f'随机生成地址+邮编: {faker_zh.address()}')
print(f'随机生成一段文本内容: {faker_zh.text()}')
print(f'随机生成一个国家:{faker_zh.country()}')
print(f'随机生成一个身份证号:{faker_zh.ssn()}')
print(f'随机生成一个职业(工作):{faker_zh.job()}')
print(f'随机生成一个手机号:{faker_zh.phone_number()}')
print(f'随机生成公司名字:{faker_zh.company()}')
print(f'随机生成完整的信用卡信息:{faker_zh.credit_card_full().rstrip()}') # 直接使用credit_card_full() 尾部有换行
print(f'随机生成布尔值:{faker_zh.boolean()}')
print(f'随机生成密码:{faker_zh.password()}') # 默认生成10位随机密码,可以加int类型参数,设置密码长度,如 faker_zh.password(12) 会生成一个长度为12位的随机密码
print(f'随机生成MD5加密:{faker_zh.md5()}')
print(f'随机生成UUID4:{faker_zh.uuid4()}')
print(f'随机生成档案信息:{faker_zh.profile()}')
print(f'随机生成简单档案信息:{faker_zh.simple_profile()}')
# 以上代码结果,大家可以自己安装后跑一遍,试试看
实际上,Faker提供的属性非常多,上面只是列举了工作中可能会经常用到的一部分方法,后续有时间会分类整理一个表格出来,供大家参考使用。